我有一个排序数组包含固定长度的数据。该数组如下,
var samplearray = [12122013Sample1,
12122013sam 1.5,
10122013sample1
];
从这个数组我想得到与“Sample1”匹配的记录。也就是说,应该返回以下记录:
12122013Sample1
10122013sample1
没有区分大小写。可能吗?
答案 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]);
}
}
答案 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);
});
文档: