我有一个包含固定长度数据的排序数组。阵列如下,从数组中提取记录
var samplearray = [12122013sample2,
10122013sample1,
12122013sam 1.5
];
从这个数组中,我想获得匹配到“12122013”的记录。也就是说,应该返回以下记录:
12122013sample2
12122013sam 1.5
这可能吗?
我有一个包含固定长度数据的排序数组。阵列如下,从数组中提取记录
var samplearray = [12122013sample2,
10122013sample1,
12122013sam 1.5
];
从这个数组中,我想获得匹配到“12122013”的记录。也就是说,应该返回以下记录:
12122013sample2
12122013sam 1.5
这可能吗?
function searchInArray(what, where) {
var results = [];
var regexp = new RegExp(what);
for (var i=0;i<where.length; i++) {
if (regexp.test(where[i])) results.push(where[i]);
}
return results.length>0 ? results : false;
}
它返回一个匹配元素的数组,或者如果找不到匹配,则返回false。 什么参数可以是字符串或正则表达式模式。
非常感谢您的宝贵回复。你能否实现相同的概念,而不区分大小 – user1800105 2013-03-30 09:13:51
添加我的标志。例如,如果您正在寻找“样本”而没有案例敏感性,请使用var results = searchInArray(/ sample/i,yourarray); – RafH 2013-03-30 10:36:28
no comma?只是? – Reigel 2013-03-27 10:15:12
与你的问题无关,但这里有一个提示:使用'YYYYMMDD'格式代替'DDMMYYYY',然后你就可以很容易地按日期排序结果。 – zessx 2013-03-27 10:57:42