久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

javascript - angular循環的時候取到的值是最后一個值

瀏覽:113日期: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
相關文章:
主站蜘蛛池模板: 遵化市| 雅安市| 阿克苏市| 灌云县| 江孜县| 潞城市| 界首市| 临清市| 宁都县| 和田市| 和平区| 平南县| 三明市| 治多县| 西安市| 绥德县| 龙州县| 如皋市| 奉贤区| 渝北区| 新河县| 永顺县| 丰台区| 德州市| 施甸县| 天祝| 平顺县| 平阳县| 南阳市| 邵阳市| 炎陵县| 西昌市| 揭阳市| 惠州市| 杨浦区| 屏边| 团风县| 上饶县| 肃北| 广德县| 定陶县|