Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

duvidas

porque o matchAll() não ja faz o espalhamento? tem que usar o spand( ...)

const resultado = (...texto.matchalAll(regex))

desde ja agradeço a explicação.

4 respostas

Olá Luciano, tudo bem?

O método matchAll() retorna um iterador, que é uma estrutura de dados que permite percorrer uma sequência de valores. Para transformar o iterador em um array, é necessário utilizar o operador spread (...), que faz o espalhamento dos valores do iterador em um array.

Então, para transformar o resultado de matchAll() em um array, é necessário utilizar o operador spread da seguinte forma:

const resultado = [...texto.matchAll(regex)];

Espero ter ajudado a esclarecer sua dúvida. Se tiver mais alguma pergunta, é só perguntar!

Bons estudos!

obrigado Emerson! Todos os métodos que retorna um iterador necessariamente tenho que usar um spread(...)?

Em JavaScript, nem todos os métodos que retornam um iterador precisam ser convertidos em um array usando o operador spread. Embora o spread seja uma maneira comum e conveniente de converter um iterador em um array, existem outras opções disponíveis para realizar essa conversão.

Por exemplo, você pode usar o método Array.from() para criar um array a partir de um iterador:

 const resultado = Array.from(texto.matchAll(regex));
solução!

show! valeu Emerson