【问题标题】:Add key/value to an object inside an array向数组内的对象添加键/值
【发布时间】:2016-06-25 10:38:49
【问题描述】:

如何向数组中的每个对象添加键+值。我必须做一个循环还是有一个简单的方法可以做到这一点?

我有什么:

var tab = [];

tab.push({name: 'Volvo', firstname: 'Doto'}, {name: 'Velve', firstname: 'Dete'});

我需要为选项卡数组中的每个对象添加一个属性图像。

像这样:

var tab = [];

tab.push({name: 'Volvo', firstname: 'Doto', image: 'Volvoimg'}, {name: 'Velve', firstname: 'Dete', image: 'Velveimg'});

【问题讨论】:

  • 迭代数组并将属性添加到每个对象。
  • 类似这样的东西:$.each(tab, function(i, field){ field.img = myimage; } ?有没有更好的方法?

标签: javascript


【解决方案1】:

如果您希望返回一个新数组,Map 是一种方法。 gurvinder372 has an answer 显示如何使用地图。

另一种方法是使用 forEach,但这有所谓的“副作用”,可能不是最好的方法。我认为地图示例是最好的,但出于完整性考虑,我将其包括在内。

tab.forEach((obj) => obj.image = "whatever goes here");

【讨论】:

  • 我在寻找之前从未使用过 map(),感谢您的回答,即使我知道它是这样的,这也是我所需要的
  • 我鼓励你研究地图,即使你在这个例子中不使用它,它仍然是一个非常强大的功能,确实解决了很多问题。另外,如果您已完成此问题,请将其标记为已回答。谢谢。
【解决方案2】:

试试

tab = tab.map( function(value){value.image  = value.name + "img"; return value;} )

【讨论】:

  • @teddym 你能分享你正在寻找的例子吗?由于我的回答似乎与您的问题同步。
  • 好吧,我以前从未使用过地图,我正在阅读文档,我找到了解决方案,但是谢谢伙计,我们每天都在学习
猜你喜欢
  • 2021-07-01
  • 1970-01-01
  • 2021-08-26
  • 1970-01-01
  • 2020-03-28
  • 2023-02-22
  • 2013-09-28
  • 1970-01-01
  • 2022-11-24
相关资源
最近更新 更多