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/

Is there any way to modify a certain objects property (like the one I'm filtering out above) without creating new arrays and/or objects?

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

推荐答案

Sure, just change it:

使用jQuery的$.each:

$.each(foo, function() {
    if (this.bar === 1) {
        this.baz[0] = 11;
        this.baz[1] = 22;
        this.baz[2] = 33;
        // Or: `this.baz = [11, 22, 33];`
    }
});

使用ES5的forEach:

foo.forEach(function(obj) {
    if (obj.bar === 1) {
        obj.baz[0] = 11;
        obj.baz[1] = 22;
        obj.baz[2] = 33;
        // Or: `obj.baz = [11, 22, 33];`
    }
});

...或者你有other looping options in this other SO answer个.

Jquery相关问答推荐

5 秒后关闭 jQuery 弹出模式

Jquery each - 停止循环并返回对象

在 CSS3 或 jQuery 中将元素的宽度从 0% 设置为 100% 动画,它和它的包装器只需要它们需要的宽度,没有预先设置的宽度

jQuery获取DOM node ?

如何在 bootstrap 模式关闭并重新打开时重置 bootstrap 模式?

jQuery.parseJSON 单引号与双引号

当有多个具有相同 ID 值的元素时,jQuery 是如何工作的?

jQuery Select 一个具有某个类的div,它没有另一个类

删除所有子元素的 CLASS

Jquery .show() 不显示隐藏可见性的 div

Javascript 使用哈希值重新加载页面

JQuery - 如何根据值 Select 下拉项

如何使用 jQuery 隐藏 div?

如何从所有元素jquery中删除类

如何在页面加载时启动 jQuery Fancybox?

如何将参数传递给 jQuery 中的事件处理程序?

带有 LIKE 的 Spring JPA @Query

Chrome 中的 AJAX 发送选项而不是 GET/POST/PUT/DELETE?

Twitter Bootstrap 中的树

Drop 事件未在 chrome 中触发