Изменить ответ потока изменений в петле 3

Итераторы более приятны:

const matches = (text, pattern) => ({
  [Symbol.iterator]: function * () {
    const clone = new RegExp(pattern.source, pattern.flags);
    let match = null;
    do {
      match = clone.exec(text);
      if (match) {
        yield match;
      }
    } while (match);
  }
});

Использование в цикле:

for (const match of matches('abcdefabcdef', /ab/g)) {
  console.log(match);
}

Или если вы хотите массив:

[ ...matches('abcdefabcdef', /ab/g) ]
0
задан Cliff Armstrong 17 January 2019 в 21:27
поделиться

0 ответов

Другие вопросы по тегам:

Похожие вопросы: