文章详情页
javascript - angular循环的时候取到的值是最后一个值
浏览:75日期: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数组中userDtoName的值全部都是最后一个data的值。为什么。但是每一个循环中alert出来的是不同的。
问题解答
回答1:val 是对象,相当于一个指针,因此每次 push 进去的都是同一个对象
由于不知道你的 val 还有其他哪些属性和作用,这里仅提供一个替换方案:push({...val, userDtoName: data})
用到了 ES6 的 ... spread 运算符。
回答2:如果没有看错的话,你便利的是val.userAssetList,却把val放进lay,每次都是一样的啊,都是执行lay.push(val)
标签:
JavaScript
相关文章:
1. mysql优化 - mysql count(id)查询速度如何优化?2. python - django 里自定义的 login 方法,如何使用 login_required()3. javascript - git clone 下来的项目 想在本地运行 npm run install 报错4. node.js - node_moduls太多了5. mysql主从 - 请教下mysql 主动-被动模式的双主配置 和 主从配置在应用上有什么区别?6. angular.js - 不适用其他构建工具,怎么搭建angular1项目7. 主从备份 - 跪求mysql 高可用主从方案8. android-studio - Android 动态壁纸LayoutParams问题9. python如何不改动文件的情况下修改文件的 修改日期10. 在Java中System.out.println 只能在method中使用吗?
排行榜
