首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过推送对象的数组OverWrite本身(JavaScript)

通过推送对象的数组OverWrite本身(JavaScript)
EN

Stack Overflow用户
提问于 2020-10-19 05:50:00
回答 1查看 214关注 0票数 0

所以我的问题来了:在我看来,这是一个非常简单的问题,但我不知道为什么会发生这种情况;正如我的标题所说,我的数组正在重写自身,并将7对象的数组作为输出

下面是代码,我放了一些console.log()让你明白我的意思:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-19 06:53:02

相关链接:Push is overwriting previous data in array

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64418684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档