成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - angular循環(huán)的時(shí)候取到的值是最后一個(gè)值

瀏覽:100日期:2023-02-16 15:36:28

問題描述

代碼如下:

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)

標(biāo)簽: JavaScript
相關(guān)文章: