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

141
Vistas
unir dos Arrays y mantener el orden de ambos iguales

Así que tengo dos matrices con la misma longitud, pero no del todo los mismos datos de la siguiente manera:

 Array1: [{name: john, num: 030}, {name: david, num: 130}, {name: john, num: 200}, {name: jane, num: 500}] Array2: [{name: john, num: 030}, {name: david, num: 130}, {name: jane, num: 500}, {name: '', num: ''}]

Array2 solo tiene un elemento donde num coincide con Array1 num

¿Hay alguna manera de asegurarse de que estas dos matrices coincidan con sus índices incluso si los datos no coinciden?

por ejemplo, su índice se verá así

 Array1: [{name: john, num: 030}, {name: david, num: 130}, {name: john, num: 200}, {name: jane, num: 500}] Array2: [{name: james, num: 030}, {name: frank, num: 130}, {name: '', num: ''}, {name: kate, num: 500},]

Esto significa que coinciden por índice y se mantiene el orden. El objetivo principal es que Array2 mantenga el orden de Array1.

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

0

De acuerdo con la descripción vista en la pregunta, enumere dos lógicas

  1. El valor del atributo num es único en cada matriz
  2. La única excepción es una cadena vacía.

Lo implementé de acuerdo con la lógica anterior, puede ver si le ayuda, si la lógica no satisface sus necesidades reales, puede proporcionar más detalles y una lógica clara, la ajustaré

 const array1 = [{name: 'john', num: '030'}, {name: 'david', num: '130'}, {name: 'john', num: '200'}, {name: 'jane', num: '500'}]; let array2 = [{name: 'david', num: '130'}, {name: 'jane', num: '500'}, {name: 'john', num: '030'}, {name: '', num: ''}]; const originalLength = array2.length; const originalArr = array2.slice(0, originalLength); array2.length = originalLength * 2; const provide = (arr, field, index) => { let result = arr.filter(a => a[field] == array1[index][field]); if(result.length == 0){ result = arr.filter(a => a[field] == ''); } return result[0]; }; for(let i=0; i<array1.length ; i++) { const item = provide(originalArr, 'num', i); array2[i] = item; } array2.length = originalLength; console.log(JSON.stringify(array2));

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