1

基于名为“filterScore”的Subhaze函数......如果需要将单个值传递给KEY......但我的问题是如果需要解析多个值怎么办?

例如,有一个名为brand_id整数的键。我想解析那些brand_id = 1 OR 3 OR 5 OR 7在 JQuery 中具有(多个)的RegExp数据FilterMatch...请帮我解决这个问题!

我怎样才能做到这一点??

如果有人能帮我解决这个问题,我将不胜感激

4

1 回答 1

1

由于brands 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')
};

工作示例

于 2012-06-03T12:55:52.027 回答