1

ソートされた配列に固定長データが含まれています。配列は次のとおりです。

var samplearray = [12122013Sample1,
                   12122013sam   1.5,
                   10122013sample1

              ];

この配列から、「Sample1」に一致するレコードを取得したいと考えています。つまり、次のレコードが返されます。

12122013Sample1
10122013sample1

大文字と小文字の区別なし。出来ますか?

4

3 に答える 3

2

プレーンな JavaScript を使用し、配列内のデータが文字列であることを意味すると仮定します。

var samplearray = ["12122013Sample1",
                   "12122013sam   1.5",
                   "10122013sample1"];

var matches = [], re = /sample1/i;
for (var i = 0; i < samplearray.length; i++) {
    if (re.test(samplearray[i])) {
        matches.push(samplearray[i]);
    }
}

実際のデモ: http://jsfiddle.net/jfriend00/WvSFz/

于 2013-03-30T09:52:09.020 に答える
0

jQuery を使用する場合、grep()が適切な関数です。

var newArray = $.grep(samplearray, function(n, i) {
    return regex.test(n);
});

http://jsfiddle.net/tBBFx/1/

ドキュメンテーション:

http://api.jquery.com/jQuery.grep/

于 2013-03-30T10:15:55.520 に答える
0

正規表現を使用して配列内の項目をテストし、$.mapを使用して配列をフィルタリングします

var s = $.map(samplearray, function(v, i){
    if((/sample/i).test(v)){
        return v;
    }
})

デモ:フィドル

于 2013-03-30T09:42:00.407 に答える