본문 바로가기
BEB/algorithm

고차함수 filter, map, reduce

by ddanss 2022. 10. 3.
728x90

filter

- 모든 요소 중 내가 원하는 값만 필터링하여 반환
- 행동은 내가 직접 작성
- 함수로 작성하여 인자로 넣음
- 기존 배열을 수정X
- 원하는 필터링에 따라 결과가 달라짐
- 배열의 각 요소가 함수에 따라 사실일 때 따로 분류
- 모든 배열의 요소 중에서 특정 조건을 만족하는 요소를 걸러내는 메소드
- 걸러내기 위한 조건을 명시한 함수를 인자로 받기 때문에 고차함수이다.
- 콜백함수가 명백하게 true나 false를 리턴하도록 구현하길 권장한다

let arr = [1,2,3];
let result = arr.filter(function(ele) { 
	return ele%2 !==0;
	})
console.log(result);

 

 

map
모든 요소에서 동일하게 모두 반환
- 행동은 내가 직접 작성
- 함수로 작성하여 입력 받음
기존 배열 수정X
- 원하는 행동에 따라서 결과가 달라짐
- map은 하나의 데이터를 다른 데이터로 맵핑(mapping)할때 사용한다

let arr = [1,2,3];
let result = arr.map(function(ele) {
		return ele * 2;
		})
console.log(result);

 

reduce
배열을 하나의 값으로 만들어줌
초기 값을 정할 수 있다. 정하지 않는다면 배열의 첫번쨰 요소가 초기값
초기 값은 누적 값이 됨
- 원하는 행동에 의해서 누적 값을 변하게함
누적 값의 값을 반환하게 됨
문자열이나 숫자등을 합치거나 더하고 뺼수도 있고
제일 작은거 혹은 큰것을 비교할수있음

let arr = [1,2,3];
let result = arr.reduce( function(acc,cur,idx) {
	acc + cur;
	return acc;
},1);
console.log(result);

 

 

 

반응형

'BEB > algorithm' 카테고리의 다른 글

[JavaScript/자바스크립트] 순열의 순서  (0) 2022.10.25
[javascript] split의 사용법  (1) 2022.10.13
꼬리재귀, 조합, 하노이  (0) 2022.10.11
재귀(recursion) 개념 & JSON  (0) 2022.10.11
고차함수1 - 기본  (0) 2022.10.03

댓글