Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

262
Visualizações
La mejor manera de eliminar oraciones duplicadas de una matriz de oraciones en función de sus caracteres, espacios en blanco intrascendentes

Digamos que tenemos una matriz como esta

 const array = ['bic ycle drive', 'bici ycl frei', 'bicyc le dri ve', 'manace', 'bicycle drive', 'bicycle drive']

Quiero que regrese ['bic ycle drive', 'bici ycl frei', 'manace'] porque bic ycle drive, bicyc le dri ve, bicycle drive, bicycle drive son la misma oración con espacios en blanco en diferentes lugares.

Resumen: solo devuelva valores únicos, el espacio en blanco no es importante.

PD: Podemos elegir cualquiera de los duplicados.

Gracias.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Desde ES6, es fácil crear matrices de valores únicos usando un Conjunto, pero en este caso necesita transformar las cadenas (eliminar espacios) para encontrar los duplicados, pero aún conserva las cadenas originales, para que pueda devolverlas. Puede hacerlo creando un Mapa con la "cadena sin espacio" como clave y la cadena original como valor. Dado que las claves de Map son únicas.

Cree un mapa usando Array.map() para generar una matriz de [string without spaces, string] . Luego, vuelva a convertir el iterador Map.values() en una matriz. Esto devolverá el último elemento de cada serie de duplicados.

 const array = ['bic ycle drive', 'bici ycl frei', 'bicyc le dri ve', 'manace', 'bicycle drive', 'bicycle drive'] const result = [...new Map( array.map(str => [str.replace(/\s+/g, ''), str]) ).values()] console.log(result)

Si desea el primer elemento de una serie de duplicados, puede usar Array.reduce() para crear el Mapa y solo asignar claves si aún no existen:

 const array = ['bic ycle drive', 'bici ycl frei', 'bicyc le dri ve', 'manace', 'bicycle drive', 'bicycle drive'] const result = [...array.reduce((acc, str) => { const key = str.replace(/\s+/g, '') return acc.has(key) ? acc : acc.set(key, str) }, new Map()).values()] console.log(result)

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda