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

使用正则表达式测试数组中的项目并使用$.map过滤数组

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

演示:小提琴

于 2013-03-30T09:42:00.407 回答
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 回答