• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

364
Vistas
TypeScript: encuentre la diferencia entre matrices con duplicados

Editar: ¡Lea la pregunta antes de cerrarla! La respuesta sugerida no tiene nada que ver con lo que pregunté. No busco una solución de matriz única, estoy usando dos matrices...


Estoy deduplicando una matriz, pero cuando busco la diferencia, no encuentra ninguna porque lo que hay en la nueva matriz está en la matriz anterior:

 const original = [1,2,2,3,4] const newArr = Array.from(new Set(original).values()); const diff = original.filter(line => !newArr.includes(line));

Lo que espero encontrar es que la diferencia encontrada sea 2 . En mi ejemplo real, estoy usando direcciones de billetera criptográfica y necesito desduplicar la lista, pero también quiero imprimir para mostrar cuáles son las diferencias entre la matriz original y la nueva matriz.

Ejemplo

Dada la siguiente entrada

 123asd123asd123 123asd123asd123 890wer890wer809

Espero el siguiente resultado

 Deduplication complete! Wallet 123asd123asd123 - Duplicate removed
about 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Respondiendo a mi propia pregunta. Lo que quería encontrar era la diferencia entre la matriz original y la matriz después de que se desduplicara para poder mostrarle al usuario qué elementos se eliminaron. El uso de las respuestas sugeridas o existentes de otras preguntas solo elimina los duplicados y/o no tiene en cuenta los duplicados y, por lo tanto, no los detecta.

Mi solución actual

 const original = [ "apple", "apple", "banana", "orange", "apple", ] // After deduplication, code omitted for clarity // deduped = Array.from(new Set(original).values()); const deduped = [ "banana", "orange", "apple", ] // Now lets find the differences let diff = original.slice() for (let i = 0; i < deduped.length; i++) { const item = deduped[i]; if (diff.includes(line)) { diff.splice(diff.indexOf(line), 1); } } // Display the difference of what is not in the deduced array console.log(diff);

producción

 ["apple", "apple"]

Lo anterior funciona en TS. No, no contiene anotaciones de tipo, pero tampoco requiere agregarlas como otras respuestas. Puede que no sea el más sucinto, esto resolvió mi problema.

Estoy usando esto para una función de formato, donde quiero ver todos los cambios realizados entre dos archivos de texto por línea.

about 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda