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

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

JSON的處理問題

JSON的處理問題

慕勒5811226 2016-07-07 08:33:37
var?collection?=?{ ????2548:?{ ??????album:?"Slippery?When?Wet", ??????artist:?"Bon?Jovi", ??????tracks:?[? ????????"Let?It?Rock",? ????????"You?Give?Love?a?Bad?Name"? ??????] ????}, ????2468:?{ ??????album:?"1999", ??????artist:?"Prince", ??????tracks:?[? ????????"1999",? ????????"Little?Red?Corvette"? ??????] ????}, ????1245:?{ ??????artist:?"Robert?Palmer", ??????tracks:?[?] ????}, ????5439:?{ ??????album:?"ABBA?Gold" ????} }; //?Keep?a?copy?of?the?collection?for?tests var?collectionCopy?=?JSON.parse(JSON.stringify(collection)); function?update(id,?prop,?value)?{ if(prop?!==?"tracks"?&&?value?!==?null){ ??collection[id][prop]?=?value; }else?if(prop?===?"tracks"?&&?value?!==?null){ ??collection[id][prop].push(value); }else?if(value?===?null){ ??delete?collection[id]['artist'];??//問題在這里!! } ??return?collection; } console.log(update(5439,?"artist",?""));如果我傳的第三個(gè)參數(shù)value為空的話,刪除artist這個(gè)屬性,為什么我這樣刪除不了??
查看完整描述

4 回答

已采納
?
Suber丶林

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

你第三個(gè)if里面的判斷是value === null,而你傳的是控制符串"",那么你使用的三個(gè)等號,也就是“全等于”,那么很明顯null !== "",所以你進(jìn)入的是第一個(gè)if。

修改如下:

① 把你43行傳入的空字符串換成null,即update(5439, "artist", null));

② 把你35行的 else if (value === null)換成else即可,因?yàn)槟闱懊嬉呀?jīng)包含了value不為null的所有可能性,所以換成else即可。

PS:JavaScript小秘訣,null、undefined、0、""、false、NaN都為false,所以使用條件的時(shí)候不用去判斷是否等于或不等于前面的值。

比如你上面的[value !== null],可以換成[value]。

[value === null]可以換成[!value]。

查看完整回答
2 反對 回復(fù) 2016-07-07
?
Gavin_Alison

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

后臺輸出collection[id]['artist']是否有值,如果有,為什么不置空, 為null.

查看完整回答
1 反對 回復(fù) 2016-07-07
?
慕粉15920169039

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

delete?collection[id]['artist'];??//問題在這里?。'artist']應(yīng)該寫成[prop];

value?!==?null 這個(gè)可以寫成value

value?===?null 寫成 !value

前面沒問題嗎,我也做的同樣,但是push那部分總報(bào)錯(cuò)


-----完全錯(cuò)了 ==|||


查看完整回答
反對 回復(fù) 2016-11-06
?
老猿

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

‘’===null ? ?這個(gè)是false吧 ?

查看完整回答
反對 回復(fù) 2016-07-07
  • 4 回答
  • 0 關(guān)注
  • 2886 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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