2013-03-27 3 views
0

У меня отсортированный массив содержит данные фиксированной длины. Массив состоит в следующем,Извлечение записи из массива

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

Из этого массива, я хочу, чтобы получить записи совпавшие на «12122013». То есть должны быть возвращены следующие документы:

    12122013sample2 
        12122013sam 1.5 

Возможно ли это?

+2

нет запятой? только то? – Reigel

+0

Ничего общего с вашей проблемой, но вот подсказка: используйте формат 'YYYYMMDD' вместо' DDMMYYYY', тогда вы сможете легко отсортировать результаты по дате. – zessx

ответ

2
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, если совпадение не найдено. Какой параметр может быть строкой или шаблоном регулярного выражения.

http://jsfiddle.net/gnYXJ/

+0

Большое вам спасибо за ваш ценный ответ. Можете ли вы реализовать ту же концепцию без чувствительности к регистру. – user1800105

+0

добавить флаг i. Например, если вы ищете «образец» без чувствительности к случаю, используйте var results = searchInArray (/ sample/i, yourarray); – RafH

Смежные вопросы