2020.07.03 업데이트
https://blog.naver.com/PostView.nhn?blogId=wideeyed&logNo=221877924629
배열.reduce((누적값 , 현재값 , 인덱스 , 요소) =>{return 결과} , 초기값);
이렇게 사용합니다.
이전값이 아니라 누적값이라는 것에 명심해야 합니다.
result = oneTwoThree.reduce((acc , cur , i ) => {
console.log(acc , cur , i);
return acc + cur;
} , 0);
// 0 1 0
// 1 2 1
// 3 3 2
result ; // 6
acc(누적값) 이 초깃값인 0부터 시작해서 return 하는대로 누적되는 것을 볼 수 있습니다.
초깃값을 적어주지 않으면 자동으로 초기값이 0 번째 인덱스의 값이 됩니다 .
let total = [1, 2, 3, 4, 5].reduce((acc, curr) => acc + curr, 0);
console.log(total); // 15
let total = [{quntity : 1} , {quntity:2},{quntity:1}].reduce(
(acc , cur) => acc+ cur.quntity , 0)
console.log(total); // 4