代码如下: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数组中userDtoName的值全部都是最后一个data的值。为什么。但是每一个循环中alert出来的是不同的。
1 回答
慕后森
TA贡献1802条经验 获得超5个赞
val 是对象,相当于一个指针,因此每次 push 进去的都是同一个对象
由于不知道你的 val 还有其他哪些属性和作用,这里仅提供一个替换方案:push({...val, userDtoName: data})
用到了 ES6 的 ... spread 运算符。
添加回答
举报
0/150
提交
取消