const numbers = [1, 2, 3, 4, 5];
const result = numbers.filter(number => number > 3);
console.log(numbers); // [1, 2, 3, 4, 5];
console.log(result); // [4, 5]
const array1 = [1, 4, 9, 16];
// pass a function to map
const map1 = array1.map(x => x * 2);
console.log(map1);
// expected output: Array [2, 8, 18, 32]
reduce()를 제대로 사용하면 map()이나 fileter() 등도 모두 reduce()로 실행이 가능하고, javascript에서 가장 강력한 기능 중 하나라는 얘기를 들어서 제대로 사용해보려고 공부를 시작했다.
리듀서 함수는 네 개의 인자를 가집니다.
누산기 (acc)
현재 값 (cur)
현재 인덱스 (idx)
원본 배열 (src)
리듀서 함수의 반환 값은 누산기에 할당되고, 누산기는 순회 중 유지되므로 결국 최종 결과는 하나의 값이 됩니다.
[0, 1, 2, 3, 4].reduce(function(accumulator, currentValue, currentIndex, array) {
return accumulator + currentValue;
});