守候你守候我
2023-11-02 22:37:23
我創(chuàng)建了一個(gè)包含 3 個(gè)對(duì)象的對(duì)象,其中一個(gè)包含三個(gè)對(duì)象,我想讓它們中的每一個(gè)都設(shè)置值。而且不知道是否以對(duì)象的類型來劃分,好像都是Object。我嘗試這樣做,第一次遍歷以識(shí)別對(duì)象和數(shù)組,然后遍歷兩次,第三次離開,但控制臺(tái)顯示錯(cuò)誤。>無法設(shè)置未定義的屬性“www.google.com”類型錯(cuò)誤:無法在eval處設(shè)置未定義的屬性“www.google.com”(userscript.html?name=在Array.forEach()原腳本排除了四層嵌套Object瀏覽器搜索工具 Object.keys(iconsData).forEach(function(value1) { if(iconsData[value1].constructor === Array){ iconsData[value1].forEach(function (value2) { console.log('typeArray--'+iconsData[value1].constructor) value2.host.forEach(function(host) { iconsData.hostCustomMap[host] = value2.custom // The console shows an Error maybe here }) }) } else if (iconsData[value1].constructor === Object) { Object.keys(iconsData[value1]).forEach(function (value2) { console.log('typeObject--'+iconsData[value1].constructor) iconsData[value1][value2].forEach(function (value3) { value3.host.forEach(function(host){ iconsData.hostCustomMap[host] = value3.custom }); }); }); } })以下代碼包含嵌套對(duì)象。
1 回答

慕標(biāo)5832272
TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
無法設(shè)置未定義的屬性“www.google.com” TypeError:無法設(shè)置未定義的屬性“www.google.com”
引發(fā)錯(cuò)誤是因?yàn)?hostCustomMap 不是 iconData 的屬性。
在代碼末尾設(shè)置一個(gè)名為 hostCustomMap 的變量,這應(yīng)該是對(duì)象 iconData 的屬性。就像原來的劇本一樣。
像這樣:
var iconsData = {
iconArraya: ...,
iconArrayb: ...,
iconArrayc: ...,
iconArrayD: ...,
hostCustomMap: {}
}
不是這個(gè):
var iconsData = {
iconArraya: ...,
iconArrayb: ...,
iconArrayc: ...,
iconArrayD: ...
}
var hostCustomMap = {}
添加回答
舉報(bào)
0/150
提交
取消