Kod adalah seperti berikut:
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出来的是不同的。
val ialah objek, bersamaan dengan penunjuk, jadi objek yang sama ditolak masuk setiap kali
Memandangkan saya tidak tahu sifat dan fungsi lain yang ada pada val anda, berikut hanya satu pengganti:
push({...val, userDtoName: data})
Menggunakan operator ES6... spread.
Jika anda membacanya dengan betul, kemudahan yang anda miliki ialah val.userAssetList, tetapi anda meletakkan val ke dalam lay Ia adalah sama setiap kali, dan anda sentiasa melaksanakan lay.push(val)