Reputation: 11
This function goes through the arrays and in each object, add the 1st number and subtract the 2nd number
eg. number([[10,0],[3,5],[5,8]]) = (10-0) + (3-5) + (5-8) Total should equal 5
Problem: I'm using a forEach loop but it returns undefined, when I console.log the number shows 5.
var number = function(busStops){
var total = 0;
busStops.forEach(function(n){
total = total + n[0] - n[1];
return total;
})
}
Upvotes: 0
Views: 41
Reputation: 386816
You could reduce the array.
const
number = busStops => busStops.reduce((t, [a, b]) => t + a - b, 0);
console.log(number([[10, 0], [3, 5], [5, 8]]));
Upvotes: 2
Reputation: 11
Just found the issue, the return should be outside the forEach loop
var number = function(busStops){
var total = 0;
busStops.forEach(function(n){
total = total + n[0] - n[1];
})
return total;
}
Upvotes: 0