Executando verificação de segurança...
1

Dúvida JS - Como filtrar um elemento do array por uma parte do nome da classe?

Usando o .classList.contains('parte da classe')

Mas ele só retorna true se ele achar essa string de forma completa na classe

No meu caso eu tenho uma série de elementos assim:

<p class="paragraph-0">Elemento 1</p>
<p class="paragraph-1">Elemento 2</p>>
<div class="div-random">...</div>
<p class="paragraph-2">Elemento 3</p>
<p class="paragraph-3">Elemento 4</p>
<div class="div-random-2">...</div>
<p class="paragraph-4">Elemento 5</p>

Eu quero fazer um filtro assim .classList.contains('paragraph-')

E então retornar isso:

Array (5) [
0: <p class="paragraph-0">Elemento 1</p>
1: <p class="paragraph-1">Elemento 2</p>>
2: <p class="paragraph-2">Elemento 3</p>
3: <p class="paragraph-3">Elemento 4</p>
4: <p class="paragraph-4">Elemento 5</p>
Carregando publicação patrocinada...
1

Boa tarde, Vitor.

Se os elementos forem uma string, e estiverem neste mesmo formato, você pode fazer uma quebra no limitador "\n" usando a função split do javascript, após isso o resultado será uma array dos elementos.

Agora você pode usar o filter nos elementos para retornar apenas os que batem com o prefixo paragraph- usando a função match.

imagem;

1

Interessante Felipe, dando mais detalhes do que eu to tentando fazer, eu to acessando as propriedades de um evento de clique, entre eles tem o path, so que acessando o path, ele retorna uma array de elementos node, então não são strings e sim elementos node, por isso eu estava tentando fazer o filtro por classe, porque aí consigo acessar o bendito id que coloquei no final de cada classe.

event.path // basicamente retorna o array dos itens que foram pegos no clique

img

Uma forma que pensei de fazer esse contains, seria criar uma função que quebra o string que eu quero usar como filtro em um array de letras, e faço o mesmo pra cada elemento node, e ai faço um forEach pra ver se o array do node quebrado contém o array da string que to filtrando, ai ele retorna apenas os elementos que possuem todas as letras nessa ordem