reduce에 초기값을 넣어주지 않으면 배열의 첫 번째 원소가 초기값이 된다 (0이 아니다!)
[1, 2, 3, 4].reduce((sum, current) => (sum + current));
// 10 (1 + 2 + 3 + 4)
let arr = [1, 2, 3, 4, 5].reduce((arr, current) => {
arr.push(current * 10);
return arr;
}, []);
console.log(arr);
<실행 결과>
[10, 20, 30, 40, 50]
let obj = [1, 2, 3, 4, 5].reduce((obj, current) => {
obj[current] = current * 10;
return obj;
}, {});
console.log(obj);
<실행 결과>
{1: 10, 2: 20, 3: 30, 4: 40, 5: 50}