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

210
Vistas
¿Cómo evitar que For loop produzca duplicados del mismo resultado de matriz?

Tengo dos matrices, una es una lista de nombres y otra es una lista de edad que se genera con una función. Para facilitar las cosas, solo mostraré el resultado final de las dos matrices.

 let nameList=["John","Brenda","Sabrina","Ray","Jacob"]; let ageList=[ 23, 29, 30, 23, 25 ]

Quería crear una nueva matriz en la que pueda combinar cada nombre emparejado con el número de edad de la misma secuencia. Ej: John tendrá 23 a su lado, Brenda 29, Sabrina 30, y así sucesivamente.

He escrito esta función para hacerlo.

 function combineData (nameArray,ageArray,combArray){ let tempComb=[]; for (let i=0;i<nameArray.length;i++) { tempComb.push(nameArray[i]); tempComb.push(ageArray[i]); combArray.push(tempComb); } }

El resultado de este ciclo hizo lo que quería obtener, pero no realmente. A continuación se muestra el resultado que devuelve.

 [ [ 'John', 23, 'Brenda', 29, 'Sabrina', 30, 'Ray', 23, 'Jacob', 25 ], [ 'John', 23, 'Brenda', 29, 'Sabrina', 30, 'Ray', 23, 'Jacob', 25 ], [ 'John', 23, 'Brenda', 29, 'Sabrina', 30, 'Ray', 23, 'Jacob', 25 ], [ 'John', 23, 'Brenda', 29, 'Sabrina', 30, 'Ray', 23, 'Jacob', 25 ], [ 'John', 23, 'Brenda', 29, 'Sabrina', 30, 'Ray', 23, 'Jacob', 25 ] ]

¿Alguien puede decirme cómo evitar que se duplique?

Pregunta adicional. ¿Hay alguna manera de colocar cada combinación de nombre y edad en su propia matriz y luego combinarla con las demás para crear una matriz anidada como esta?

[['John', 23],['Brenda',29],['Sabrina',30],['Ray',23],['Jacob',25]]

about 4 years ago · Santiago Gelvez
3 Respuestas
Responde la pregunta

0

Puede map los nombres y usar el índice para agregar el elemento de la matriz de edades.

 const nameList = [ 'John', 'Brenda', 'Sabrina', 'Ray', 'Jacob' ]; const ageList = [ 23, 29, 30, 23, 25 ]; const out = nameList.map((name, i) => { return [name, ageList[i]]; }); console.log(out);

about 4 years ago · Santiago Gelvez Denunciar

0

const nameList = ["John", "Brenda", "Sabrina", "Ray", "Jacob"]; const ageList = [23, 29, 30, 23, 25]; function zipper(arr1, arr2) { const temp = {}; for (let i = 0; i < arr1.length; i++) { temp[arr1[i]] = arr2[i]; } return Object.entries(temp); }
about 4 years ago · Santiago Gelvez Denunciar

0

Esta es una sola línea en varios guiones bajos como bibliotecas. La función generalmente se llama zip.

 const results = _.zip(nameList, ageList)
about 4 years ago · Santiago Gelvez 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