Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

114
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!