4 回答

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]。

TA貢獻(xiàn)8條經(jīng)驗(yàn) 獲得超10個(gè)贊
后臺輸出collection[id]['artist']是否有值,如果有,為什么不置空, 為null.

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ò)了 ==|||
添加回答
舉報(bào)