javascript - angular循環(huán)的時(shí)候取到的值是最后一個(gè)值
問題描述
代碼如下:
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出來的是不同的。
問題解答
回答1:val 是對(duì)象,相當(dāng)于一個(gè)指針,因此每次 push 進(jìn)去的都是同一個(gè)對(duì)象
由于不知道你的 val 還有其他哪些屬性和作用,這里僅提供一個(gè)替換方案:push({...val, userDtoName: data})
用到了 ES6 的 ... spread 運(yùn)算符。
回答2:如果沒有看錯(cuò)的話,你便利的是val.userAssetList,卻把val放進(jìn)lay,每次都是一樣的啊,都是執(zhí)行l(wèi)ay.push(val)
相關(guān)文章:
1. 怎么在網(wǎng)頁中設(shè)置圖片進(jìn)行左右滑動(dòng)2. node.js - mysql如何通過knex查詢今天和七天內(nèi)的匯總數(shù)據(jù)3. mysql 插入數(shù)值到特定的列一直失敗4. mysql 怎么做到update只更新一行數(shù)據(jù)?5. python - 在使用Pycharm時(shí)經(jīng)常看到如下的樣式,小括號(hào)里紅色的部分是什么意思呢?6. javascript - 新浪微博網(wǎng)頁版的字?jǐn)?shù)限制是怎么做的7. python 合并dict8. 360瀏覽器與IE瀏覽器有何區(qū)別???9. javascript - 用jsonp抓取qq音樂總是說回調(diào)函數(shù)沒有定義10. sublime可以用其他編譯器替換嗎?
