带有循环的Jqueryfilter对象数组
我有一个像这样的对象数组:
myArray = [ {label: "a", value: "100"}, {label: "b", value: "101"}, {label: "c", value: "102"} ...
我想像这样过滤它:
myArrayFiltered = myArray.filter(function(v){ return v["value"] == "101" || v["value"] == "102"});
哪个会回归
myArrayFiltered = [ {label: "b", value: "101"}, {label: "c", value: "102"}]
在这个例子中,但我想用一组值做filter。 我怎样才能做到这一点 ?
只需检查您要过滤的值是否在您的数组中
myArrayFiltered = myArray.filter(function(v){ return ["102", "103"].indexOf(v.value) > -1; });
您可以在filter中使用.some方法:
var requiredValues = ["101", "102", "103"]; myArrayFiltered = myArray.filter(function(v){ return requiredValues.some(function(value) { return value === v.value; }); });
var arrValues = ["101", "102"]; var result = getData(arrValues,"102") function getData(src, filter) { var result = jQuery.grep(src, function (a) { return a == filter; }); return result; }