javascript 計算總和的幾種方法

for迴圈加總

1
2
3
4
5
6
7
8
9
const SumFor=(arr)=>{
var sum=0;
for (var i = 0; i < arr.length; i++) {
sum += arr[i];
};
return sum;
}
var data= [1, 1, 1];
console.log(SumFor(data));

forEach遍歷 加總

1
2
3
4
5
6
7
8
9
const sumforEach = (arr) =>{
var sum=0;
arr.forEach((el)=>{
sum+=el;
});
return sum;
}
var data= [1, 1, 1];
console.log(sumforEach(data));

reduce() 方法將一個累加器及陣列中每項元素(由左至右)傳入回呼函式,將陣列化為單一值。

1
2
3
4
var sum = [1, 1, 1].reduce( (a, b)=> {
return a + b;
}, 0);
console.log(sum);

1
2
3
4
5
6
7
8
9
10
11
12
const array =[
{name:'apple',price:25,qty:1},
{name:'orange',price:10,qty:1},
{name:'piniaApple',price:45,qty:1},
]

//將map價格取出=>reduce累加=> 簡化以後
const SumReduce = (arr)=>{
return arr.map(el=>el.price).reduce((a,b)=>a+b);
}
console.log(SumReduce(array));