4 回答

TA貢獻(xiàn)75條經(jīng)驗(yàn) 獲得超180個贊
你第三個if里面的判斷是value === null,而你傳的是控制符串"",那么你使用的三個等號,也就是“全等于”,那么很明顯null !== "",所以你進(jìn)入的是第一個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,所以使用條件的時候不用去判斷是否等于或不等于前面的值。
比如你上面的[value !== null],可以換成[value]。
[value === null]可以換成[!value]。

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個贊
delete?collection[id]['artist'];??//問題在這里??!['artist']應(yīng)該寫成[prop];
value?!==?null 這個可以寫成value
value?===?null 寫成 !value
前面沒問題嗎,我也做的同樣,但是push那部分總報錯
-----完全錯了 ==|||
添加回答
舉報