Digamos que tenemos dos matrices de JavaScript como esta:
var firstNameArray = ["Jack", "Indiana", "James"]; var lastNameArray = ["Sparrow", "Jones", "Bond"];Quiero que la salida sea:
var result = ["Jack Sparrow","Indiana Jones","James Bond"]; Nota: firstNameArray y lastNameArray pueden tener valores dinámicos.
¿Cómo combino elementos de dos matrices en JavaScript para obtener este resultado?
Usando el bucle for tradicional
var firstNameArray = ["Jack", "Indiana", "James"]; var lastNameArray = ["Sparrow", "Jones", "Bond"]; let merged = []; for (let i = 0; i < firstNameArray.length; i++) { merged.push(`${firstNameArray[i]} ${lastNameArray[i]}`) } console.log(merged); Usando el método de reduce
var firstNameArray = ["Jack", "Indiana", "James"]; var lastNameArray = ["Sparrow", "Jones", "Bond"]; const merged = firstNameArray.reduce((arr, item, index) => { arr.push(`${item} ${lastNameArray[index]}`); return arr; }, []); console.log(merged) Usando el map
var firstNameArray = ["Jack", "Indiana", "James"]; var lastNameArray = ["Sparrow", "Jones", "Bond"]; let merged = firstNameArray.map((e,index) => { return `${e} ${lastNameArray[index]}`; }); console.log(merged);var result = firstNameArray.map((it,index)=>it+' '+lastNameArray[index]);
Puede iterar cualquier matriz (suponiendo que ambas matrices contengan la misma cantidad de elementos) usando el mapa y construir el nuevo conjunto concatenando ambos elementos de la matriz en función del índice.
demostración :
const firstNameArray = ["Jack", "Indiana", "James"]; const lastNameArray = ["Sparrow", "Jones", "Bond"]; const finalArray = firstNameArray.map((item, index) => { return `${item} ${lastNameArray[index]}` }); console.log(finalArray);