Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

115
Vistas
El filtro no devuelve el primer elemento de la matriz, aunque console.log dice que sí

Dadas dos matrices de enteros, quiero crear una nueva matriz con solo los valores únicos de las dos matrices de entrada. Sé que hay muchas maneras diferentes de hacer esto, pero me interesa saber por qué la forma en que intento hacerlo no funciona.

 const arr1 = [1, 2, 3, 4, 5]; const arr2 = [2, 3, 1, 0, 5]; // combine both arrays const combined = arr1.concat(arr2); // sort combined array combined.sort(); // fitler out elements identical to the preceding element const result = combined.filter((el, i, a) => { if ( (el != a[i-1]) ) { console.log("return", el); return el; } }); // print console.log(result);

Aunque cero es parte de la matriz combinada, la salida es [1,2,3,4,5]. Cuando hago console.log, definitivamente veo que mi método de filtro devuelve el elemento cero, pero por alguna razón no aparece en la matriz de resultados. ¿Qué ocurre?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La lambda en el filter debe devolver un valor booleano ( thruthy o false ). 0 se considera falso, por lo que el valor no estará en el resultado.

Tal vez no necesite un ciclo después de todo: un Set elimina los valores duplicados.

 const arr1 = [1, 2, 3, 4, 5]; const arr2 = [2, 3, 1, 0, 5]; // use Set console.log(JSON.stringify([...new Set(arr1.concat(arr2))])); // or filter with a lambda that returns true/false const result = arr1.concat(arr2).sort().filter((val, i, a) => val !== a[i-1]); console.log(JSON.stringify(result));

about 4 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 Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda