1

「filterScore」という名前のSubhazeの関数に基づいて...単一の値を渡す必要がある場合は正常に機能しKEYます...しかし、私の質問は、複数の値を解析する必要がある場合はどうなりますか?

たとえば、整数であるという名前のキーがあります..そして、JQueryに(複数)brand_idあるデータを解析したい, , ... このガイズで私を助けてください!!brand_id = 1 OR 3 OR 5 OR 7RegExpFilterMatch

これどうやってするの??

誰かがこれで私を助けることができれば本当に感謝します

4

1 に答える 1

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

実例

于 2012-06-03T12:55:52.027 に答える