如何基于对象中的ID添加键和值

时间:2019-11-09 16:20:20

标签: javascript

我有一个对象数组,根据匹配的键需要添加新的键和值

var arrOfObj = [{
   name: 'eve'
}, {
 name: 'john'
}, {
 name: 'jane'
}];

var result = arrOfObj.map(function(o) {
 o.isActive = true;
 return o;
})

Result:所有对象都将使用isActive Expected:但只有在name: "Jane"

时,我才想传递isActive true

2 个答案:

答案 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)