javascript - angular循環(huán)的時(shí)候取到的值是最后一個(gè)值
問(wèn)題描述
代碼如下:
angular.forEach(data.body.data.assets,function(val,ind){
angular.forEach(val.userAssetList,function(data,index){val.userDtoName = data;// alert(data.userDTO);if(val.assetCount != val.availableCount){ lay.push(val);} }) }) 最后我的lay數(shù)組中userDtoName的值全部都是最后一個(gè)data的值。為什么。但是每一個(gè)循環(huán)中alert出來(lái)的是不同的。
問(wèn)題解答
回答1:val 是對(duì)象,相當(dāng)于一個(gè)指針,因此每次 push 進(jìn)去的都是同一個(gè)對(duì)象
由于不知道你的 val 還有其他哪些屬性和作用,這里僅提供一個(gè)替換方案:push({...val, userDtoName: data})
用到了 ES6 的 ... spread 運(yùn)算符。
回答2:如果沒(méi)有看錯(cuò)的話,你便利的是val.userAssetList,卻把val放進(jìn)lay,每次都是一樣的啊,都是執(zhí)行l(wèi)ay.push(val)
相關(guān)文章:
1. node.js - mongodb查找子對(duì)象的名稱為某個(gè)值的對(duì)象的方法2. javascript - QQ第三方登錄的問(wèn)題3. 測(cè)試自動(dòng)化html元素選擇器元素ID或DataAttribute [關(guān)閉]4. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯(cuò)誤?5. spring-mvc - spring-session-redis HttpSessionListener失效6. 在mac下出現(xiàn)了兩個(gè)docker環(huán)境7. 利用IPMI遠(yuǎn)程安裝centos報(bào)錯(cuò)!8. mysql - 查詢 修改數(shù)據(jù)庫(kù)優(yōu)化問(wèn)題吧9. 正在使用electron和node.js做桌面應(yīng)用,需要實(shí)時(shí)監(jiān)聽(tīng)是否有網(wǎng)絡(luò)連接,node或者electron是否可以做到10. java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統(tǒng)有創(chuàng)建日志文件,不寫(xiě)入日志信息。

網(wǎng)公網(wǎng)安備