我有一个对象数组如下:
[
{ name:"jon", active: false },
{ name:"eve", active: false },
{ name:"adam", active: true }
]
更改活动值的最佳方法是什么,以便整个对象列表的活动值为false? 还有一个lodash功能可以实现这一目标吗? 我正在使用地图,但有更快更好的方法,因为我的数组非常大,操作需要多次完成?
答案 0 :(得分:1)
你可以通过简单地使用forEach
迭代列表来实现这一点:
var list = [
{ name:"jon", active: false },
{ name:"eve", active: false },
{ name:"adam", active: true }
]
list.forEach(item => item.active = false)
答案 1 :(得分:0)
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);
答案 2 :(得分:0)
简单的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
方法,在性能方面相对类似。