从数组中提取记录而不区分大小写

时间:2013-03-30 09:28:59

标签: jquery html

我有一个排序数组包含固定长度的数据。该数组如下,

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

              ];

从这个数组我想得到与“Sample1”匹配的记录。也就是说,应该返回以下记录:

12122013Sample1
10122013sample1

没有区分大小写。可能吗?

3 个答案:

答案 0 :(得分: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/

答案 1 :(得分:0)

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

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

演示:Fiddle

答案 2 :(得分: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/