JAVASCRIPT/문법
[JAVASCRIPT] map과 filter의 차이
예글
2023. 3. 7. 10:09
1. map()
- callback 함수를 각각의 요소에 대해 한 번씩 순서대로 불러 그 함수의 반환값으로 새로운 배열을 생성
arr.map(callback(currentValue[, index[, array]])[, thisArg])
- callback: 새로운 배열 요소를 생성하는 함수. 다음 세 가지 인수를 가짐
- currentValue : 처리할 현재 요소
- index (Optional) : 처리할 현재 요소의 인덱스
- array (Optional) : map()를 호출한 배열
- thisArg (Optional) : callback을 실행할 때 this로 사용할 값
--> map의 콜백함수는 산술된 인자를 받아 배열을 만듦
--> 논리 연산일 때는, 산술 결과인 불리언 값을 리턴해 배열 만듦
2. 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환
arr.filter(callback(element[, index[, array]])[, thisArg])
- callback : 각 요소를 시험할 함수. true를 반환하면 요소를 유지하고, false를 반환하면 버림. 다음 세 가지 인수를 가짐
- element : 처리할 현재 요소
- index (Optional) : 처리할 현재 요소의 인덱스
- array (Optional) : filter()를 호출한 배열
- thisArg (Optional) : callback을 실행할 때 this로 사용할 값
--> 리턴값의 불리언이 true인 값만 가지고 배열을 만듦
--> 조건식이 true이면, 그 값을 그대로 저장
--> 산술 연산일 때는 뭘 해도 true이므로 원래의 값으로 그대로 저장 (단, 0만 제외 0은 false이므로)