文章详情页
javascript - angular循环的时候取到的值是最后一个值
浏览:182日期: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. 关于docker下的nginx压力测试2. docker-machine添加一个已有的docker主机问题3. node.js - express router中无法获取session4. javascript - react-router 4.0版本怎么实现以前onEnter的效果5. node.js - 如何调用hexo渲染 ``` ``` 代码块的渲染引擎6. docker start -a dockername 老是卡住,什么情况?7. java - servlet的init方法和选择Filter的init方法来加载配置文件,二者有何区别?8. docker - 如何修改运行中容器的配置9. javascript - 怎么实现点击表格中的某一行然后就在表单处出现表格中的对应的属性值啊10. docker-compose 为何找不到配置文件?
排行榜

网公网安备