callback : 배열의 각 요소에 대해 실행할 함수. 다음 네 가지 인수를 가짐
accumulator : 누산기의 역할, 이전의 값을 나타냄
currentIndex (Optional) : 처리할 현재 요소의 인덱스. initialValue를 제공한 경우 0, 아니면 1부터 시작
array (Optional) : reduce()를 호출한 배열
some.reduce((acc, cur, idx) => {}, ini)
let arr = [1, 2, 3, 4, 5]
let result = arr.reduce((prev, cur) => {
return prev + cur;
}, 100)
console.log('초기값을 100으로 잡았다.')
console.log(result)
초기값을 100으로 잡았다.
115
const arr2 = [1, 2, 3, 4, 5];
const answer = arr2.reduce((acc, cur, idx) => { return acc += cur; }, 0);
console.log(answer); // 15
const arr3 = [1, 2, 3, 4, 5];
const answer2 = arr3.reduce((acc, cur, idx) => { return acc += cur; }, 10);
console.log(answer2); // 25
15
25
let people = [
{ name: "james", age: 10 },
{ name: 'Mikc', age: 43},
{ name: 'pil', age: 17},
{ name: 'Suke', age: 21}
]
let result2 = people.reduce((prev, cur) => {
if (cur.age > 18) prev.push(cur.name)
return prev
}, [])
console.log(result2)
[ 'Mikc', 'Suke' ]
배열속 현재객체(cur)중 18살이 넘는사람이 있으면, prev( [ ] )에 넣어줘라