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

116
Vistas
Loop through array of arrays and increment values into a new array

I'm struggling with looping through an array of arrays and returning a new array with the incremented value of the result.

Here's the concept:

let array1 = [array1, array2];
let array2 = [4000,5000,3000,6000];
let array3 = [3000, 15000, 9000, 1000];

let i = 0;
let newArray = []
while (i < array1.length) {
// how do I get the combined value in a new array so that newArray[0] = 7000, newArray[1] = 20000 etc.
}

Array1 comes from an API and is an unknown number of arrays.

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

0

This should work for any number of sub arrays. Here it is assumed that array1 contains 4 arrays.

let array2 = [4000, 5000, 3000, 6000]
let array3 = [3000, 15000, 9000, 500]
let array4 = [5000, 15000, 4000, 2000]
let array5 = [6000, 25000, 5000, 8000]
let array1 = [array2, array3, array4, array5]

const result = array1.reduce((acc, curr) => {
  return acc.map((item, index) => item + curr[index])
})

console.log(result)


References:

  • .reduce
  • .map
about 4 years ago · Juan Pablo Isaza Denunciar

0

In case number of elements is dynamic then,

let array1 = [[4000, 5000, 3000, 6000], [3000, 15000, 9000, 1000, 2000, 3000], [1000], [3000, 15000, 9000, 1000, 2000, 3000, 1000, 10000]];

let index = 0;
let newArray = [];
let maxElements = Math.max(...array1.map(arr => arr.length));
let arrayLength = array1.length;


while (index < maxElements) {
    let total = 0;

    for (let arrayIndex = 0; arrayIndex < arrayLength; arrayIndex++) {
        let element = array1[arrayIndex][index]
        if (element) total += element;
    }

    newArray.push(total);
    index++;
}

console.log(newArray)
about 4 years ago · Juan Pablo Isaza Denunciar

0

You may need a nested loop. So basically you will iterate array1 which holds both array2 and array3 and then in newArray you will see if specific index has a value. If so then you will add value with previous one

let array2 = [4000, 5000, 3000, 6000];
let array3 = [3000, 15000, 9000, 1000];
let array1 = [array2, array3];
let i = 0;
let newArray = []
while (i < array1.length) {
  for (let j = 0; j < array1[i].length; j++) {
    // if index of new array is unoccupied then set a value there 
    if (!newArray[j]) {
      newArray[j] = array1[i][j]
    } else {
      // if index is occupied then add with previous value
      newArray[j] = newArray[j] + array1[i][j]

    }

  }
  i++;
}
console.log(newArray)

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