繁体   English   中英

数组通过推送对象(JavaScript)覆盖自身

[英]Array OverWrite itself by pushing Objects (JavaScript)

所以我的问题来了:在我看来,这是一个很容易解决的问题,但我不知道为什么会这样; 以及我的标题说我的数组正在覆盖自身,并给出一个 7 Object's Array 作为输出

这是代码,我已经放了一些 console.log() 给你看看我的意思:

 let str = "100 23 20 99 92 123 88"; let arr = str.split(" "); console.log(arr); console.log("\\n"); var aObj={}; let arrS=[]; console.log(arrS); for (let i = 0; i<arr.length;i++){ let sum=0; for (let j=0; j<arr[i].length;j++){ sum += parseInt(arr[i][j]); } aObj.value=sum; aObj.strI=arr[i]; console.log(aObj); console.log("\\n"); arrS.push(aObj); console.log(arrS); console.log("\\n"); }
https://repl.it/@Arcall95/try#index.js

Repl.it console.log() 输出

相关: 推送正在覆盖数组中的先前数据

循环的每次迭代,您所做的是更改单个对象aObj的属性并将其推送到arrS

相反,您应该通过在循环中拉动var aObj={}为每次迭代创建一个新对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM