javascript - 修改对象数组中的对象属性

标签 javascript jquery

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);

http://jsfiddle.net/98EsQ/

有没有办法修改某个对象属性(就像我上面过滤掉的属性)而不创建新的数组和/或对象?

期望结果:[{ bar: 1, baz: [11,22,33] }, { bar: 2, baz: [4,5,6] }]

最佳答案

.mapspread (...) 运算符

var result = foo.map(el => el.bar == 1 ? {...el, baz: [11,22,33]} : el);

关于javascript - 修改对象数组中的对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16691833/

相关文章:

javascript - 提交时重置 div 内容

javascript - 如何使用 Sequelize 批量更新数组中的元素?

php - 数据库更新时发出警报消息

javascript - 基于javascript切换div

javascript - 尝试使用 Jquery 更改 HTML

jquery select 具有多个属性的元素

javascript - 如何向此脚本添加平滑过渡

jquery - 如何使用 CSS 高亮显示特定控件

javascript - 构建一个 :selection selector

javascript - ajax post 调用后 $_POST 为空