我有一个对象数组,根据匹配的键需要添加新的键和值
var arrOfObj = [{
name: 'eve'
}, {
name: 'john'
}, {
name: 'jane'
}];
var result = arrOfObj.map(function(o) {
o.isActive = true;
return o;
})
Result
:所有对象都将使用isActive
Expected
:但只有在name: "Jane"
答案 0 :(得分:1)
您没有添加.isActive
的条件。因此,它为所有添加。在此处添加条件:
var result = arrOfObj.map(function(o) {
// Add the condition before assigning isActive.
if (o.name === "jane")
o.isActive = true;
return o;
})
摘要:
var arrOfObj = [{
name: 'eve'
}, {
name: 'john'
}, {
name: 'jane'
}];
var result = arrOfObj.map(function(o) {
if (o.name === "jane")
o.isActive = true;
return o;
});
console.log(result);
以上程序的输出为:
[
{
"name": "eve"
},
{
"name": "john"
},
{
"name": "jane",
"isActive": true
}
]
答案 1 :(得分:0)
您可以执行以下操作:
var arrOfObj = [{
name: 'eve'
}, {
name: 'john'
}, {
name: 'jane'
}];
var result = arrOfObj.map(function(o) {
if (o.name === "jane"){ //If name is jane
o.isActive = true;
}
return o;
})
console.log(result)