@lexstile

Поиск элементов массива по подстроке с 0 символа?

Есть функция подобная, которая делат почти то же, только не с начального символа:
filterElements = (elements, filter) => {
        return elements  = elements.filter((el) => {
            return el.toLowerCase().match(filter.trim().toLowerCase());
        });
    }

Как сделать, чтобы поиск был только с 0 символа в элементе массива?
То есть:
Есть массив:
['Томск', 'Омск']
Если я введу букву "О" - он покажет оба варианта, так как она содержится в обоих.
Мне нужно, чтобы поиск был по первым буквам.
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
filterElements = (elements, filter) => {
        return elements  = elements.filter((el) => {
            return el.charAt(0).toLowerCase() === filter.trim().toLowerCase();
        });
    }

Возможно я неправильно понял. Вы имеете ввиду, не поиск по первой букве, а поиск с нулевого символа и дальше? т.е. поиск элементов, которые начинаются с указанного слова? Тогда вот так
filterElements = (elements, filter) => {
        return elements  = elements.filter((el) => {
            return el.toLowerCase().startsWith(filter.trim().toLowerCase());
        });
    }

если нужна поддержка ie<12, то вместо startsWith пишите indexOf(filter.trim().toLowerCase()) === 0
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы