JavaScript - 내장 고차함수(map,filter,reduce)

프론트엔드 꿈나무·2022년 9월 22일

🤔 .map()

map 은 callback 함수를 각각의 요소에 대해 한번씩 순회하여 그 callback 함수의 반환값을 새로운 배열로 만들어 리턴해주는 메서드이다.

const arr1 = [1,2,3,4]

const mapping = arr1.map(function (ele)){ //콜백함수의 파라미터로 arr1의 요소들이 들어감 
	return ele*2						
}
console.log(mapping) // [2,4,6,8]
console.log(arr1) // [1,2,3,4] *원본배열은 바뀌지 않는다.

🤔 .filter()

filter()는 배열 내 각 요소에 대해 한번 제공된 callback 함수를 호출해 callback 을 통해 true값만을 반환하여 새로운 배열을 생성한다.
callback 함수를 통과하지못하여 false가 된 배열요소는 그냥 건너뛰며 새로운 배열에 포함되지 않는다.

const arr = [15,2,36,64,3]
const isTenOver = arr.filter(function(ele){
	return ele>10
})
console.log(isTenOver) // [15, 36, 64]

🤔 .reduce()

개념보완필요

#초기값이 없는경우
const arr = [1,2,3,4,5]
const sum = arr.reduce((acc,cur) => {
	return acc+cur
})
console.log(sum) // 15
acc   cur  return값
 1	   2	  3
 3	   3	  6
 6	   4	  10
 10	   5	  15
 초기값이 설정되어있지않기때문에  acc(응축값) 이 배열의 첫번째요소가 전달되어지고 cur부터 두번째 요소가 들어간다.
 --------------------------
 #초기값이 있는경우
 const arr = [1,2,3,4,5]
const sum = arr.reduce((acc,cur) => {
	return acc+cur
},10)
console.log(sum) // 25
acc   cur  return값
 10	   1	  11
 11	   2	  13
 13	   3	  16
 16	   4	  20
 20    5      25
 초기값이 설정되어있기때문에  acc(응축값)엔 초기값이 들어가고 cur엔 배열의 첫번째요소가 들어간다.
 

0개의 댓글