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

219
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 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