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

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

從一個對象數(shù)組中選擇項(xiàng)目并將其存儲在另一個對象中

從一個對象數(shù)組中選擇項(xiàng)目并將其存儲在另一個對象中

慕后森 2023-07-06 10:04:25
挑戰(zhàn)我正在嘗試從對象 A 中選擇項(xiàng)目的子集以將其存儲在對象 B 中。這似乎是一個非常簡單的任務(wù),但由于某種原因,結(jié)果不是我所期望的。我從對象 A 中選擇 1 項(xiàng),并希望將其存儲在對象 B 的特定索引中:fselection.categories[cindex].name = categories[cindex].name;然而,從對象 A 中選擇的項(xiàng)目存儲在對象 B 的每個索引中,而不僅僅是存儲在cindex. 參見下文 MWE。我試圖通過編寫一個普通的舊 for 循環(huán)來解決這個問題,但這也不能解決它。更重要的是,這一次,對象 A 的每個位置都填充了空字符串?for(i=0;i<fselection.categories.length;i++){    console.log(i);    if(i === cindex){        fselection.categories[i].name = categories[i].name;    } else {        fselection.categories[i].name = "";    }}很奇怪,不是嗎?預(yù)期結(jié)果預(yù)期結(jié)果是填充fselection.categories[i].name1 個元素categories,即fselection.categories[i].name一流量是多少?加載頁面打開控制臺 - 它將向您顯示實(shí)例化的對象數(shù)組點(diǎn)擊頁面上的按鈕即可在控制臺查看結(jié)果
查看完整描述

1 回答

?
POPMUISE

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個贊

在您的代碼片段中,您使用以下代碼填充 fselection.categories:


var initcat = JSON.parse('{ "name": "", "subcategories": [] }');

for(i=0;i<categories.length;i++){

    fselection.categories.push(initcat);

}

結(jié)果是 fselection.categories 的每個元素都是對同一對象 (initcat) 的引用。如果您更改該對象的屬性,它將看起來“到處都在改變”。如果你做的事情更像是:


for (i=0;i<categories.length;i++) {

    fselection.categories.push(JSON.parse('{ "name": "", "subcategories": [] }'));

}

那么每個元素將是一個獨(dú)立的對象,因此可以獨(dú)立更改。


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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