Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 백준 10448 javascript
- 백준 1018 타입스크립트
- 백준 4796 타입스크립트
- 백준 1449 노드
- 백준 2503 자바스크립트
- 백준 2503 nodejs
- 백준 11047 타입스크립트
- 백준 1018 자바스크립트
- 백준 1449 nodejs
- 백준 1449 자바스크립트
- 백준 1018 javascript
- 백준 1449 타입스크립트
- 백준 4796 javascript
- 백준 11047 자바스크립트
- 알고리즘
- 백준 1018 nodejs
- JavaScript
- 백준 2503 타입스크립트
- 백준 1449 javascript
- 백준 1018 typescript
- CSS
- 백준 4796 nodejs
- 백준 11047 typescript
- 백준 1449
- 백준 2503 typescript
- 백준 11047 javascript
- 백준 11047 nodejs
- 백준 2503 javascript
- 백준 4796 캠핑
- 백준 4796 자바스크립트
Archives
- Today
- Total
POTATO THAT WANT TO BE HUMAN
[JavaScript] filter 사용하기 본문
반응형
filter함수는 명칭과 같이 콜백함수의 조건에 해당하는 모든 요소가 있는 새로운 배열을 반환해줍니다.
이런 기능을 하는 filter함수는 배열이나 JSON 객체내의 조건에 해당하는 값만을 추출할 때 유용하게 사용됩니다.
📌 filter 함수
filter함수는 javascript array에서 많이 사용되는 함수로 반복문의 역할을 수행합니다. filter함수에서는 반복시킨 배열에서 순차적으로 값에 접근합니다.
const newArr = arr.filter(( elemnent, index, array ) => { ··· });
filter함수의 매개변수로는 콜백함수가 들어갑니다. 콜백함수에서는 3개의 매개변수를 사용할 수 있습니다.
element: 현재 순회하는 array의 요소값
index : 그 요소의 인덱스 값
array : 사용되는 배열 객체
명확한 이해를 위해 예제를 보도록 하겠습니다.
const arr = ['a', 'b', 'c', 'd'];
const newArr = arr.filter((element, index, array) => {
console.log(element);
console.log(index);
console.log(array);
})
결과는 다음과 같습니다.
다음 예제를 보겠습니다.
const arr = [1, 2, 3, 4, 5];
const newArr = arr.filter((element, index) => {
return element < 3;
})
console.log(newArr); // [1, 2]
위 예제에서는 배열에서 3보다 작은 값만을 추출해 새로운 배열을 생성합니다.
코드가 한 줄일 경우 { } 중괄호와 return을 생략할 수 있습니다.
아래 코드는 위 예제와 동일한 의미입니다.
const arr = [1, 2, 3, 4, 5];
const newArr = arr.filter((element, index) => element < 3)
console.log(newArr); // [1, 2]
📌 filter 함수 사용시 참고사항
- filter는 순회하는 도중에 추가된 요소는 접근하지 않습니다. 반면 순회하는 도중 수정이 일어나면 변경된 값이 콜백함수에 전달되고 삭제된 요소는 접근하지 않습니다.
- filter는 중복값을 제거해주지 않습니다. (중복제거를 위해서 따로 Set을 사용할 수 있습니다.)
참고자료
반응형
'FRONTEND > JavaScript' 카테고리의 다른 글
[JavaScript] split()을 사용해 문자열을 배열로 반환하기 (0) | 2022.08.12 |
---|---|
[JavaScript] array every, some (0) | 2022.06.22 |
[JavaScript] 비구조화 할당 (0) | 2022.06.10 |
[JavaScript] 브라우저와 요소의 크기(너비, 높이) 구하기 (0) | 2022.06.02 |
[JavaScript] 이벤트 트리거 dispatchEvent() (0) | 2022.06.01 |
Comments