var foo = [{ bar: 1, baz: [1,2,3] }, { bar: 2, baz: [4,5,6] }];
var filtered = $.grep(foo, function(v){
return v.bar === 1;
});
console.log(filtered);
有没有办法修改某个对象属性(就像我上面过滤掉的属性)而不创建新的数组和/或对象?
期望结果:[{ bar: 1, baz: [11,22,33] }, { bar: 2, baz: [4,5,6] }]
最佳答案
.map
与 spread (...
) 运算符
var result = foo.map(el => el.bar == 1 ? {...el, baz: [11,22,33]} : el);
关于javascript - 修改对象数组中的对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16691833/