第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

在js中構(gòu)造json問題

在js中構(gòu)造json問題

Cats萌萌 2018-09-02 12:30:28
問題描述在js中構(gòu)造json的時(shí)候如何根據(jù)一個(gè)值來決定包不包含這個(gè)節(jié)點(diǎn)?問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法當(dāng)然可以用很多if來搞,比如            let req = {};            if(this.timeSelect.start != ''){                 req.startTs = this.timeSelect.start;             }            if(this.timeSelect.end != ''){                 req.endTs = this.timeSelect.end;             }            if(this.userId != ''){                 req.userId = this.userId;             }            if(this.auditType != '1'){                 req.checkType = this.auditType;             }            if(this.opter != ''){                 req.operator = this.opter;             }            if(this.auditStatus != '0'){                 req.result = this.auditStatus ;             }你期待的結(jié)果是什么?實(shí)際看到的錯(cuò)誤信息又是什么?大神們有什么好的簡約的辦法么?
查看完整描述

2 回答

?
紅顏莎娜

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊

/**
 * 
 * @param {Object} sources 傳入一個(gè)源數(shù)據(jù)Obj
 * @param {Array} rule 傳入一個(gè)規(guī)則數(shù)組 
 * @param {Array} key 傳入需要判斷的key(sources的屬性)
 * key要和rule對應(yīng)
 */function assigment(sources, rule, key){    var target = {}    for(let i = 0; i < key.length; i ++){        if(rule[i]){
            target[key[i]] = sources[key[i]]
        }
    }    return target
}var sources = {a: 1, b: '', c: '0'}var rule = [
    sources.a != '',
    sources.b != '',
    sources.c != '0',
]var key = ['a', 'b', 'c'];var target = assigment(sources, rule, key)

console.log(target)


查看完整回答
反對 回復(fù) 2018-09-02
?
當(dāng)年話下

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊

你這key值都不對應(yīng),估計(jì)沒對接好吧,只能自己映射了,不過為了優(yōu)雅和減少代碼量,可以簡單封裝一下:

    /**
    * k: req要掛載的key
    * p: 源 key
    * c: 上下文取值
    * v: 不期望的值
    **/
    function setVal({ k, p, c, v = '' }) {
      const _v = c[p]      if (_v != v) req[k] = _v
    }
    var arr = [
      { k: startTs, p: start, c: this.timeSelect },
      { k: endTs, p: end, c: this.timeSelect },
      { k: userId, p: userId, c: this },
      { k: checkType, p: auditType, c: this, v: '1' }
    ]
    arr.forEach(item => setVal(item))


查看完整回答
反對 回復(fù) 2018-09-02
  • 2 回答
  • 0 關(guān)注
  • 803 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號