개발하는 루루언니

javascript : 배열 메소드 ( reduce ) 알아보기 🔥 본문

컴퓨터 정보/javascript

javascript : 배열 메소드 ( reduce ) 알아보기 🔥

혜닝혜루 2023. 2. 16. 20:47
728x90
반응형
reduce

reduce

// 배열의 모든수 합치기

 

 

우선 forEach로 하여 배열의 모든 수를 합칠 수 있다.

let arr = [1,2,3,4,5];


// for, for of , forEach 사용을한다.

let result = 0;

arr.forEach(num=>{
 result +=num
}

답: 15

✅ forEach는 배열을 합칠때 사용가능하며 콜백함수를 사용하고 꼭  하나의 매개변수를 받는데

매개변수를 콘솔로 출력해보면 arr = [ 1,2,3,4,5 ]의 숫자들이 하나씩 나오는걸 확인할 수 있다. :) 

 

reduce는 뭐가다를까? 
arr.reduce()
인수로 함수를 받는다.
(누적계산값, 현재값) = > { return 계산값}

이걸 위의 코드와동일하게 공식대로 나열해서 표현을 하자면

lat arr = [1,2,3,4,5]

const result = arr.reduce((prev,cur))=>{
	return prev + cur (누적계산값 + 현재값)
},0 )=> 초기값은 0 

처음에 arr의 초기값은 0 이다.
arr의 첫번째값이 1이니 cur(현재값)에 1이 들어간다.
arr의 두번째값은 2이니 cur(현재값에)2가 들어가고 누적계산값에
처음에 들어온 1과 두번째로 들어온 2가 더해져서 3이 누적값이 된다.

 

예제2

성인인 사람만 배열에서 골라서 보여줘라.

let userList = [
  {name:'Mike', age:30},
  {name:'Tom', age:20},
  {name:'Jane', age:10},
  {name:'Sue', age:20},
  {name:'Harry', age:10},
]

let result = userList.reduce((prev,cur)=>{
  if(cur.age > 19){
    prev.push(cur.name)
  }
},[])

답은? ["Mike","Tom","Sue"]

728x90