如何更新对象数组中所有对象的键值?
问题描述:
我有对象的数组如下:如何更新对象数组中所有对象的键值?
[
{ name:"jon", active: false },
{ name:"eve", active: false },
{ name:"adam", active: true }
]
什么是变革的积极价值,使整个对象列表中有活跃的值设置为false的最佳方式? 也有一个lodash函数可以做到这一点? 我使用的地图,但有更快的更好的方式,因为我的数组非常大,操作需要做几次?
答
你可以做到这一点通过使用forEach
像这样在列表上简单地迭代:
var list = [
{ name:"jon", active: false },
{ name:"eve", active: false },
{ name:"adam", active: true }
]
list.forEach(item => item.active = false)
答
var people = [
{ name:"jon", active: false },
{ name:"eve", active: false },
{ name:"adam", active: true }
];
var inactivePeople = people.map(person => {
person.active = false;
return person;
});
console.log(inactivePeople);
答
简单for
循环是更快地做到这一点:
let array = [
{ name: "jon", active: false },
{ name: "eve", active: false },
{ name: "adam", active: true }
]
for (let i = 0; i < array.length; i++) {
array[i].active = false
}
Lodash有一个_.map
和一个_.forEach
方法,在性能方面比较相似。
你到目前为止尝试过什么,或者你做过什么研究? – NewToJS
听起来像你正在寻找一个迭代器 – Andrew