1차 공부/JavaScript

reduce()

공대탈출 2022. 11. 22. 20:36
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함수이다.

 

 

 

 

참고자료

 

reduce function 이해하기

reduce 란? reduce()메소드는 array의 각 element에 함수를 적용하여 array를 단일값으로 reduce 하는데 사용된다. let result = arr.reduce(callback); let result = arr.reduce(callback, initValue); // option for initial value result : re

youngban.tistory.com

 

 

https://www.zerocho.com/category/JavaScript/post/5acafb05f24445001b8d796d

 

www.zerocho.com