亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Nest Javascript 對象不接受推送方法。類型錯誤:無法讀取未定義的屬性“push””

Nest Javascript 對象不接受推送方法。類型錯誤:無法讀取未定義的屬性“push””

一只萌萌小番薯 2024-01-18 09:54:22
我試圖將變量推入嵌套對象中的屬性,但 Javascript 不斷給出此錯誤: TypeError: Cannot read property 'push' of undefined"但是,如果我聲明一個嵌套變量并使用它來推送,它就可以工作。為什么 JavaScript 有這種行為?有沒有辦法在不聲明嵌套變量和不聲明空數組的情況下執行此操作?var collection = {    5439: {      albumTitle: 'ABBA Gold'    }  };collection[5439]["track"] = [''];console.log(collection[5439].track);// nested = collection[5439]["track"];// nested.push('c') // this works// console.log(nest)collection[5439]["tracks"].push('c');
查看完整描述

3 回答

?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

您可以為此使用 concat 方法。就像:

collection[5439]["track"].concat('c');


查看完整回答
反對 回復 2024-01-18
?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

collection[5439]["tracks"].push('c');錯誤是這一行,因為collection[5439]["tracks"]未定義并且不是數組。


嘗試這樣的事情,如果不存在則使用??(無效合并運算符)進行初始化


var collection = {

    5439: {

      albumTitle: 'ABBA Gold'

    }

  };


(collection[5439]["tracks"] ??= []).push("hello");


console.log(collection[5439]["tracks"])


查看完整回答
反對 回復 2024-01-18
?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

collection[5439]["tracks"].push('c');

改為:(track不是tracks

collection[5439]["track"].push('c');


查看完整回答
反對 回復 2024-01-18
  • 3 回答
  • 0 關注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號