Vấn đề
Chúng ta cần viết một hàm JavaScript nhận vào một mảng số. Hàm sẽ xây dựng và trả về mảng mới trong đó mỗi phần tử tương ứng là tổng của tất cả các phần tử bên phải nó (kể cả nó) trong mảng đầu vào.
Ví dụ
Dưới đây là mã nguồn:
const arr = [5, 6, 1, 3, 8, 11];
const partialSum = (arr = []) => {
let sum = arr.reduce((acc, val) => acc + val);
const res = [];
let x = 0;
if(arr.length === 0){
return [0];
}
for(let i = 0; i <= arr.length; i += 1) {
res.push(sum);
x = arr[i];
sum -= x;
};
return res;
};
console.log(partialSum(arr));Kết quả
[ 34, 29, 23, 22, 19, 11, 0 ]