Подскажите как правильно выполнить поиск в массиве
Добрый день, у меня есть массив в котором нужно сделать фильтр по определенному слову.
Этот код находит первый массив с совпадением:
var arr = ['Горшок цветов красных','Ваза пеньков синих','Горшки фиолетовые','бумага'];
function findPartial( a, s ){
for( var i = 0; i < a.length; ++i )
if( a[i].indexOf( s ) >= 0 ){
return a[i];
}
};
alert(findPartial( arr, "Горш" ));
Нужна примерно такая же функция, но с выводом: arr = ['Горшок цветов красных','горшки фиолетовые',]; я так понимаю надо заменить .indexOf ?:-? |
var arr = ['Горшок цветов красных','Ваза пеньков синих','Горшки фиолетовые','бумага'];
function findPartial( a, s ){
var r = [];
for( var i = 0; i < a.length; ++i )
if( a[i].indexOf( s ) >= 0 ){
r.push(a[i]);
}
return r;
};
alert(findPartial( arr, "Горш" ));
|
Artur_Hopf,
var arr = ['Горшок цветов красных','Ваза пеньков синих','Горшки фиолетовые','бумага'];
function findPartial( a, s ){
return a.filter(function(b) {
return b.indexOf( s ) >= 0
})
};
alert(findPartial( arr, "Горш" ));
|
alert( ['Горшок цветов красных','Ваза пеньков синих','Горшки фиолетовые','бумага'].filter(function(item){
return item.indexOf('Горш')>-1;
}).join('; ') );
|
Вам, наверное, нужно ещё приделать toLowerCase к обеим строкам.
|
brizing,
спасибо, в самый раз :yes: |
Цитата:
|
| Часовой пояс GMT +3, время: 12:23. |