如何通过他的索引将项目推送到Obj Array

麦克瓦克

我需要将项目推送到Obj Array中,而现在我多次获得最新记录。

codepen:https://codepen.io/dolezalp/pen/YzXjEoo

const hitpoints = ["one", "two", "three"];
let remapImages = new Array();
const item = new Object();

hitpoints.forEach(function(i, index) {
  item.img = document.getElementById(i);
  item.hit = document.getElementById(i).offsetTop - window.innerHeight;
  console.log(item);
  remapImages.push(item);
});

console.log(remapImages);
<ul>
  <li id="one">1</li>
  <li id="two">2</li>
  <li id="three">3</li>
</ul>

胡椒

您应该创建多个对象,否则,您将多次推送同一对象引用:

const hitpoints = ["one", "two", "three"];
let remapImages = new Array();

hitpoints.forEach(function(i, index) {
  const item = new Object();
  item.img = document.getElementById(i);
  item.hit = document.getElementById(i).offsetTop - window.innerHeight;
  console.log(item);
  remapImages.push(item);
});

console.log(remapImages);

由于它是一个引用,因此它会在foreach循环中更新,这就是为什么您多次看到该对象的最新值的原因。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将项目推送到 promise<array[]>?

如何将array2的所有对象推送到array1

如何推送到Promise.all(Array)

通过PHP Array迭代将整数索引添加到每个项目

如何使用 array.push() 方法,以便将数据从一个组件推送到单独文件中的数组?

将项目从默认分支推送到其他分支

如何使用Array.push并返回推送的项目?

Array.push 是正确地将迭代的对象推送到数组中,但是一旦通过方法返回数组,所有对象属性都变得相同

Json Array 使用 React 将数据两次推送到文件树

如何将 Eclipse 项目提交并推送到 GitHub?

如何将Android项目推送到Github?

如何使用循环将项目推送到红宝石数组

如何将2个项目推送到数组

如何将angularfire(angular + firebase)项目推送到heroku?

如何将新项目推送到空数组?

如何将项目推送到 Angular 列表?

如何使用Firebase将新项目推送到数组中

如何将最新的项目文件从 Git 推送到 Gitlab?

如何将项目推送到 Kotlin 中的数组?

如何使git工作通过tor将提交推送到GitHub?

如何通过索引更改 np.array 中的元素

AngularJS将项目推送到$ scope数组的第一个或0索引

将Xcode项目推送到BitBucket

将项目推送到嵌套对象数组

fetch:将项目推送到数组

Vue JS将项目推送到数组?

将新项目从字段推送到对象

将STS项目从本地存储库推送到其他用户创建的远程目录

PHP ARRAY获取特定值的项目索引