@LaCosteGreen

Неправильная работа регулярки... Или я что-то делаю не так?

Хочу с помощью регулярки вернуть новый массив, удовлетворяющий моим условиям:

let names = ['Vladimir', 'Olga', 'Denis', 'Ludmila', 'Max', 'Ekaterina']
let reg = /a/gi
let filtered = names.filter(name => reg.test(name))
console.log(filtered)

Но на выходе получается неправильный массив ('Max' отсутствует, хотя удовлетворяет условию):

// [object Array] (4)
["Vladimir","Olga","Ludmila","Ekaterina"]

https://codepen.io/LaCosteGreen/pen/yLZQZqv
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
Mike_Ro
@Mike_Ro Куратор тега JavaScript
React, Django, WordPress, SEO, Bots, Adversting
let reg = /a/i
Читаем, что делает флаг g.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@LaCosteGreen Автор вопроса
Спасибо всем большое! Я вроде разобрался) в моём примере получается что перед 'Max' регулярка останавливается и запоминает что остановился на 'Ludmila' (индекс a = 6) и в следующей итерации 'Max' поиск и начинается с этого индекса (6) а в Max всего 3 позиции.... Очень неочевидно при методе filter.. Я был уверен каждая итерация это новый вызов... С большой строкой я понимал)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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