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 是對象,相當(dāng)于一個(gè)指針,因此每次 push 進(jìn)去的都是同一個(gè)對象
由于不知道你的 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. javascript - 如何使用loadash對[object,object,object]形式的數(shù)組進(jìn)行比較2. 這種數(shù)據(jù)怎么合并?。?/a>3. 請教各位大佬,瀏覽器點(diǎn) 提交實(shí)例為什么沒有反應(yīng)4. javascript - 如何清除向可編輯的(contenteditable)元素里粘貼的文本的標(biāo)簽和樣式?5. mysql優(yōu)化 - 關(guān)于mysql分區(qū)6. 如何分別在Windows下用Winform項(xiàng)模板+C#,在MacOSX下用Cocos Application項(xiàng)目模板+Objective-C實(shí)現(xiàn)一個(gè)制作游戲的空的黑窗口?7. angular.js - 百度支持_escaped_fragment_嗎?8. javascript - ionic2 input autofocus 電腦成功,iOS手機(jī)鍵盤不彈出9. nlp - python如何對一篇文章自動(dòng)分段?10. css3 - 這個(gè)形狀使用CSS怎么寫出來?
