let result = arr.reduce(callback, initValue);
//initValue는 안적어도 됨. 안적으면 0번째 element가 initValue
result = 반환되는 값
arr = reduce함수가 실행되는 배열
callback = 배열 속 각 element들에 실행되는 함수이다. 안에는 4가지 값이 들어있다.
- accumulator = 함수의 모든 반환값을 축적하는 곳
- currentValut = 진행되는 현재 값
- index = 현재 진행하는 값의 인덱스
- array = 원래의 배열
initValue = 선택적으로 사용가능하다. 만약 사용하지 않으면 0번째 요소가 initValue로 들어간다.
var arr = [1,2,3,4];
var sum = 0;
for(var i = 0; i < arr.length; i++){
sum += arr[i];
}
console.log(sum) //10
기존 for문을 사용한 정수합 계산이다.
let arr = [1,2,3,4];
let sum = arr.reduce((acc, cur) => acc + cur);
console.log(sum) //10
reduce함수를 사용한 정수합 계산이다.
let arr = [1,2,3,4];
let sum = arr.reduce((acc, cur) => acc + cur, 100);
console.log(sum) //110
initValue를 사용한 정수합 계산이다.
let oneTwoThree = [1,2,3]
let result = oneTwoThree.reduce((acc, cur) => {
if (cur % 2) acc.push(cur);
return acc;
}, 0);
console.log(result) //[1,3]
홀수만 새로 배열하는 reduce함수이다.
참고자료
'1차 공부 > JavaScript' 카테고리의 다른 글
fill() (0) | 2022.11.22 |
---|---|
실습과제 (0) | 2022.11.19 |
호이스팅(hoisting)과 TDZ(temporal dead zone)은 무엇일까? (0) | 2022.11.19 |
JavaScript 객체와 불변성이란? (0) | 2022.11.19 |
JavaScript의 자료형과 JavaScript만의 특성은 무엇인가 (0) | 2022.11.19 |