日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

javascript - js如何實現這種操作,get(obj,’k1’,’k2’,’k3’).then((v)=>console.log(v))

瀏覽:237日期:2023-06-01 17:34:32

問題描述

類似下面這種代碼

get(obj,’k1’,’k2’,’k3’) .then((v)=>console.log(v)) .else(()=>console.log(’值為空’));

實現下面這種代碼的功能

if(obj && obj.k1 && obj.k1.k2 && obj.k1.k2.k3){ console.log(obj.k1.k2.k3);}else{ console.log(’值為空’)}

問題解答

回答1:

采用es6+promise實現方式

// 功能實現function get(obj, ...props) { // 檢查該對象是否擁有某個屬性 function hasProp(obj, prop) { return !!obj[prop] } return new Promise(function(resolve, reject) { let tempObj = {...obj} for (let i = 0; i < props.length; i++) { // 如果找到該屬性,將該屬性存儲起來繼續尋找下一個屬性,直到循環結束 if (hasProp(tempObj, props[i])) {tempObj = tempObj[props[i]] } else { // 找不到則返回錯誤信息return reject(’找不到’ + props[i] + ’屬性’) } } return resolve(tempObj) })}// 使用let obj = { user: { name: ’anguer’ }}get(obj, ’user’, ’name’).then(function(res) { console.log(res) // print ’anguer’}).catch(function(err) { console.log(err)})回答2:

這樣行不行

function get (obj) { var scope = { obj: obj } var path = ’scope.obj.’ + Array.prototype.slice.call(arguments, 1).join(’.’) var value = null var NONE = ’值為空’ try {value = (new Function(’scope’, ’return ’ + path + ’;’))(scope)if (value === null || value === undefined) { return NONE } else { return value} } catch (e) {return NONE }}var obj = { k1: { k2: { k3: 1}}}get(obj, ’k1’, ’k2’, ’k3’) // 1get(obj, ’k1’, ’k’, ’k3’) // 值為空回答3:

class Tang { constructor() { this.obj = null; this.keys = []; this.thenF = []; this.elseF = []; } then(fn) { this.thenF.push(fn); return this; } _init() { let [obj, ...keys] = arguments; this.obj = obj; this.keys = keys; setTimeout(() => this._start(), 0) return this; } _start() { while(this.keys.length && this.obj) { this.obj = this.obj[this.keys.shift()]; } if (!this.keys.length) { this.thenF.forEach(fn => fn(this.obj)); } else { this.elseF.forEach(fn => fn()); } } else(fn) { this.elseF.push(fn); return this; }}let obj = {k1:{k2:{k3:1}}};let tang = new Tang();let get = tang._init.bind(tang);get(obj,’k1’,’k2’,’k3’) .then((v)=>console.log(v)) .else(()=>console.log(’值為空’));

看到鏈式調用我就想到了之前的lazyman。實現的比較丑陋。。。

回答4:

參考一下

function get (obj, ...keys) { try { let value = keys.reduce((o, k) => o[k], obj) return { then (cb) {if (typeof cb === ’function’) { cb(value) }return {else () {}} } } } catch (e) { return { then () {return { else (cb) { if (typeof cb === ’function’) { cb(e) } }} } } }}

標簽: JavaScript
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品传媒麻豆hd| 欧美日韩黄网站| 69堂免费精品视频在线播放| 亚洲视频二区| 亚洲精品在线国产| 日韩黄色免费网站| 日本欧美一区二区| 日本精品国产| 国产福利亚洲| 国产一区二区三区不卡av| 国产三级精品三级在线观看国产| 日韩一区二区三区在线看| 婷婷视频一区二区三区| 国产欧美一区| 精品网站999| 精品欧美激情在线观看| 亚洲在线电影| 日本欧美韩国一区三区| 免费在线成人| 亚洲精品国产嫩草在线观看| 久久网站免费观看| 亚洲伊人影院| 日韩成人a**站| 亚洲综合日韩| 国内揄拍国内精品久久| 日韩久久精品网| 免费看精品久久片| 成人国产精品一区二区网站| 伊人久久成人| 国产精品115| 午夜一区在线| 天堂√中文最新版在线| 日本欧美大码aⅴ在线播放| 久久夜夜操妹子| 久久国产乱子精品免费女| 国产在线成人| 激情中国色综合| 日韩精选在线| 99亚洲视频| 日本不良网站在线观看| 在线免费观看亚洲| 日本不良网站在线观看| 国产精品多人| 蜜臀a∨国产成人精品| 日韩三区在线| 久久99蜜桃| 日韩国产激情| 亚洲伊人av| 天堂av在线一区| 日韩精品一卡| 四虎8848精品成人免费网站| 日精品一区二区三区| 在线视频日韩| 亚洲男女av一区二区| 欧美日韩国产v| 免费一级欧美在线观看视频| 欧美一区网站| 国产一区视频在线观看免费| 天堂av在线| 日韩国产一区| 久久婷婷亚洲| 成人片免费看| 麻豆精品蜜桃| 99精品美女| 野花国产精品入口| 麻豆9191精品国产| 免费日韩精品中文字幕视频在线| 天堂资源在线亚洲| 亚洲成人日韩| 久久婷婷av| 日韩一区二区三区免费| 久久精品卡一| 国产精品试看| 日韩一区二区三区免费视频| 日韩激情av在线| 成人在线视频区| 激情综合在线| 欧美日韩黄网站| 不卡一二三区| 蜜臀久久99精品久久久久久9| 香蕉久久久久久| 免费日韩成人| 99pao成人国产永久免费视频| 五月天久久久| 国产一区2区| 久久精品凹凸全集| 亚洲最新av| 久久国内精品| 超级白嫩亚洲国产第一| 伊人精品一区| 日本视频中文字幕一区二区三区| 精品91福利视频| 热久久久久久久| 国产一区二区三区四区二区| 中文在线不卡| 国产成人在线中文字幕| 久久亚洲风情| 福利片在线一区二区 | 久久中文字幕二区| 影音先锋久久| 精品国产乱码久久久| 久久成人亚洲| 日韩精品不卡一区二区| 日本综合精品一区| 蜜桃视频欧美| 中文字幕在线高清| 免费在线亚洲欧美| 欧美亚洲国产日韩| 中日韩男男gay无套| 日韩大片在线观看| 久久精品国产999大香线蕉| 蜜桃传媒麻豆第一区在线观看 | 国产国产精品| 动漫av一区| 在线亚洲人成| 日韩一区二区三区精品 | 日韩av字幕| 美女精品在线| 亚洲天堂成人| 国产综合激情| 欧洲激情综合| 欧美日韩国产精品一区二区亚洲| 中文字幕人成乱码在线观看| 国产精品入口久久| 亚洲免费福利一区| 自由日本语亚洲人高潮| 亚洲国产一区二区三区在线播放 | 欧美 日韩 国产精品免费观看| 国产精品成久久久久| 久久av综合| 日韩成人免费| а√天堂8资源中文在线| 国产精品一区二区精品| 国产精品任我爽爆在线播放| 国产精品国码视频| 日韩av免费大片| 久久久五月天| 国产91精品对白在线播放| 亚州av乱码久久精品蜜桃| 丝袜美腿高跟呻吟高潮一区| 日韩影院精彩在线| 青青草伊人久久| 久久精品资源| 亚洲二区视频| 快she精品国产999| 日产欧产美韩系列久久99| 国产精品久久久免费| 国产91在线精品| 99视频+国产日韩欧美| 日韩精品免费视频人成| 日韩成人精品一区二区| 三级欧美在线一区| 日韩av午夜在线观看| 97精品国产| 亚洲精品乱码久久久久久蜜桃麻豆 | 中文字幕一区二区三区在线视频| 日韩激情精品| 丁香六月综合| 日韩欧美高清一区二区三区| 国产精品福利在线观看播放| 国产精品女主播一区二区三区| 国产精品入口久久| 日韩视频二区| 久久亚洲人体| 日韩在线短视频| 亚洲资源网站| 久久视频国产| 精品国产亚洲一区二区三区在线 | 四虎成人av| 亚洲三级国产| 日韩精品不卡一区二区| 日韩av一级片| 伊人精品在线| 日韩在线观看| 国产精品观看| 亚洲深夜福利在线观看| 亚洲精品一级二级| 91大神在线观看线路一区| 亚洲精品1区| 日韩欧美字幕| 精品九九久久| 国产精品网站在线看| 免费人成在线不卡| 亚洲一级在线| 免费av一区二区三区四区| 福利视频一区| 91欧美国产| 久久伊人亚洲| 国产欧美另类| 国产欧美高清视频在线| 国产日韩欧美一区二区三区在线观看| 国产亚洲精品v| re久久精品视频| 国产亚洲一级| 日韩制服丝袜av| 日韩精品一二三| 亚洲人妖在线| 日本成人在线不卡视频| 日韩高清一区二区| 久久国产免费看|