我有一个我创建的对象如下:
$(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())
});
});
现在我想过滤创建的对象localproducts,例如。我想保存其packageid等于3的项的所有数据集。我认为它可以通过阵列过滤器完成但不确定如何。有帮助吗?谢谢!
答案 0 :(得分:1)
使用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);
});
答案 1 :(得分:0)
您可以尝试 jQuery grep
实用程序。
以下是文档的网址:
http://docs.jquery.com/Utilities/jQuery.grep
在您的情况下,代码看起来像这样:
var arr = new Array();
arr = jQuery.grep(localproducts, function() {
return localproducts.packageid == 3;
});
然后,您可以访问过滤后的信息。它将在数组内部。