I have an array:
arr = [2, 4, 3, 7, 8, 2, 3, 4, 9, 1];
All the numbers are below '10'. I want the cumulative total of the numbers. But with two conditions:
- upon reaching a total closest to '10' the last number that makes total to be less than or equal to '10' should be replaced with '10' AND
- the cumulative total starts from next number.
So, the output should be:
outputArr = [2, 6, 10, 10, 8, 10, 3, 10, 9, 10];
I have this code:
arr = [2, 4, 3, 7, 8, 2, 3, 4, 9, 1];
total = 0;
outputArr = [];
for (i = 0; i < arr.length; i++) {
if (total + arr[i] <= 10) {
total += arr[i];
outputArr.push(total);
} else {
total = arr[i];
outputArr.push(total);
}
}
console.log(outputArr);
This code gives me this output:
outputArr = [2, 6, 9, 7, 8, 10, 3, 7, 9, 10]
Here, cumulative total and its restarting upon reaching 10 works fine. But the problem as you see is: before restarting, it can't replace last item with 10.
Any help is much appreciated.