Javascript将相同的属性添加到数组中的所有对象

时间:2016-07-31 12:38:12

标签: javascript arrays json node.js

我在没有角度或下划线的节点中工作,我正在寻找一个有效的普通javascript答案(可能避免循环)。我有以下JSON对象数组:

object = [
    {account:2423, user:1564},
    {account:1235, user:1564}
]

我想将以下内容添加到对象中的每个数组中:

username:"clientname" 

所以它最终看起来像这样:

object = [
    {account:2423, user:1564, username:"clientname"},
    {account:1235, user:1564, username:"clientname"}
]

这个问题要求避免循环。

2 个答案:

答案 0 :(得分:6)

使用Array#forEach迭代元素并设置rev属性。



username




即使你可以使用简单的for loop



var object = [{
  account: 2423,
  user: 1564
}, {
  account: 1235,
  user: 1564
}];

object.forEach(function(v) {
  v.username = 'clientname';
})

console.log(object);




FYI:如果没有循环,可能会更复杂,效率更低。如果有有限数量的元素,那么您可以使用其索引更新它,尽管可以使用var object = [{ account: 2423, user: 1564 }, { account: 1235, user: 1564 }]; for (var i = 0; i < object.length; i++) { object[i].username = 'clientname'; } console.log(object);建议的递归但我不认为所有这些都是必要的,因为它是一个简单的工作循环。

答案 1 :(得分:3)

您可以使用Array.map方法获取结果。这是代码

var object = [
    {account:2423, user:1564},
    {account:1235, user:1564}
];

object.map(function(entry) {
    entry.username = "clientname";
    return entry;
});