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

228
Vistas
Combine múltiples matrices en función de su índice usando javascript

Necesito fusionar dos matrices en una sola matriz. Tengo código, pero no funciona como se esperaba: los está fusionando uno tras otro, pero necesito interbloquear los valores.

 <html> <head> <title></title> <script src="https://code.jquery.com/jquery-3.1.1.js"></script> </head> <body> <div id="result"></div> <script type="text/javascript"> var array1 = [1, 2, 3, 4]; var array2 = ["a", "b", "c", "d"]; var newArray = $.merge(array1, array2); $("#result").html(newArray); //the result its 1234absd //ineed result like 1a,2b,3c,4d </script> </body> </html>

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

0

Puede usar Array#map en javascript simple.

 var array1 = [1, 2, 3, 4]; var array2 = ["a", "b", "c", "d"]; var newArray = array1.map((e, i) => e + array2[i]); console.log(newArray);

Si usa el mapa en matriz1, entonces el primer parámetro es el valor actual de matriz1 en el bucle y el segundo parámetro es el índice de ese elemento en la matriz. Entonces puede hacer coincidir el elemento actual en array1 con elementos de otras matrices con el mismo índice usando index.

 var array1 = [1, 2, 3, 4]; var array2 = ["a", "b", "c", "d"]; var array3 = ["f", "d", "s", "a"]; var newArray = array1.map(function(value, index) { return value + array2[index] + array3[index]; }); console.log(newArray);

about 4 years ago · Santiago Trujillo Denunciar

0

Podría usar Array#reduce y Array#map para un recuento arbitrario de matrices con la misma longitud.

 var a1 = [1, 2, 3, 4], a2 = ["a", "b", "c", "d"], a3 = [9, 8, 7, 6], a4 = ["z", "y", "x", "w"], result = [a1, a2, a3, a4].reduce((a, b) => a.map((v, i) => v + b[i])); console.log(result);

ES5

 var a1 = [1, 2, 3, 4], a2 = ["a", "b", "c", "d"], a3 = [9, 8, 7, 6], a4 = ["z", "y", "x", "w"], result = [a1, a2, a3, a4].reduce(function (a, b) { return a.map(function (v, i) { return v + b[i]; }); }); console.log(result);

about 4 years ago · Santiago Trujillo Denunciar

0

Solo una pequeña nota de variación, para fusionar por índice en una matriz múltiple, para crear una matriz asociativa de valores.

 const a = [1, 2, 3, 4], b = [34, 54, 54, 43] console.log( a.map((e,i) => [e,b[i]]) )


Luego, más tarde, para buscar la coincidencia más cercana a un valor dado. En este ejemplo, buscando el mejor valor asociado para 3.7 :

 const a = [1, 2, 3, 4], b = [34, 54, 54, 43], c = a.map((e,i) => [e,b[i]]), search = 3.7, temp = []; c.forEach(function(e){ temp.push(e[0]) }) const seek = temp.reduce((m, n) => (Math.abs(n-search) < Math.abs(m-search) ? n : m)) const index = c.findIndex((s) => s.indexOf(seek) !== -1) console.log(c[index][1])

Esto no es exactamente cómo se comporta un objeto .

Por ejemplo, las entradas de índice idénticas no se fusionan, pero mantienen sus valores asociados en una nueva entrada (índice duplicado), podemos sacar Matemáticas del índice y crear una matriz de transformación. Podemos usar cualquier columna como índice y buscar en ambos sentidos.

about 4 years ago · Santiago Trujillo 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