我在没有角度或下划线的节点中工作,我正在寻找一个有效的普通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"}
]
这个问题要求避免循环。
答案 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;
});