Based on Subhaze's Function named "filterScore" ...如果需要将单个值传递给KEY
,那么工作正常......但我的问题是如果多个值会怎么样?需要解析?
例如,有一个名为brand_id
的键是整数。我想解析JQuery brand_id = 1 OR 3 OR 5 OR 7
RegExp
中Filter
(多个)的那些数据。{{1} },Match
...请帮我解决这个问题!!
我该怎么做?
如果有人能帮助我,我真的很感激
答案 0 :(得分:1)
由于品牌ID是列表而非模式,因此您可以修改过滤器功能以接受brand_id
作为数组而不是regex
。新的过滤功能将是
function filterStore(dataStore, filter) {
return $(dataStore).filter(function(index, item) {
for( var i in filter ) {
if(filter[i] instanceof Array){
if($.inArray(parseInt(item[i],10),filter[i]) == -1)
return null;
else
continue;
}
if( ! item[i].toString().match( filter[i] ) ) return null;
}
return item;
});
}
然后,您可以将所有品牌ID放在这样的数组中
var filter = {
"brand_id": [1,2,3],
"productname": new RegExp('(.*?)', 'gi'),
"price": new RegExp('.*?', 'gi')
};