我有一个如下创建的对象:

$(this).find('li').each(function(){
                var $itm = $(this);
                localproducts.push({
                    'dataid' : $itm.attr('data-id'),
                    'datapackage' : $itm.attr('data-package'),
                    'packageid' : ($itm.children('.packageid').text())
            });
        });


现在,我想过滤创建的对象本地产品,例如。我想保存例如packageid等于3的项的所有dataids。我认为可以使用数组过滤器完成操作,但不确定如何操作。有什么帮助吗?谢谢!

最佳答案

使用filter

var matching = $(localproducts).filter(function(){
    return this.packageid == 3;
});




使用each

var dataids = new Array();

$(localproducts).each(function(){
    if (this.packageid == 3) dataids.push(this.dataid);
});




示例:http://jsfiddle.net/hunter/tqTDQ/

关于jquery - 在jQuery中过滤对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14340121/

10-11 16:58