배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환하는 함수
arr.reduce(callback(accumulator, currentValue, index, array), initialValue)
const array = ['a', 'b', 'c', 'd', 'e'];
const result = array.reduce((prev, curr, index, array) => {
console.log(`prev: ${prev},
curr: ${curr},
index: ${index},
array: ${array}`);
return prev + curr;
});
/* 초기값 설정하지 않은 경우
prev: a, curr: b, index: 1, array: a,b,c,d,e
prev: ab, curr: c, index: 2, array: a,b,c,d,e
prev: abc, curr: d, index: 3, array: a,b,c,d,e
prev: abcd, curr: e, index: 4, array: a,b,c,d,e
result: abcde
*/
const array = ['a', 'b', 'c', 'd', 'e'];
const result = array.reduce((prev, curr, index, array) => {
console.log(`prev: ${prev},
curr: ${curr},
index: ${index},
array: ${array}`);
return prev + curr;
}, '');
/* 초기값 설정한 경우
prev: , curr: a, index: 0, array: a,b,c,d,e
prev: a, curr: b, index: 1, array: a,b,c,d,e
prev: ab, curr: c, index: 2, array: a,b,c,d,e
prev: abc, curr: d, index: 3, array: a,b,c,d,e
prev: abcd, curr: e, index: 4, array: a,b,c,d,e
result: abcde
*/