filter 메서드는 해당 조건이 참인 요소들을 모아서 새로운 배열로 반환하는 메서드이다.
배열에서 원하는 데이터만 추출하고 싶을 때 사용하는 메서드인데,
여기서 중요한 부분은 새로운 배열을 반환해준다는 것이다.
또한 filter은 중복값을 제거해주지 않는다.
filter()
filter 도 map 함수와 마찬가지로 콜백함수를 인자로 받는데 모든 원소를 한번씩 돌리면서 콜백함수의 몸체부분에서 true 를 반환하는 원소들만 걸러준다. (filter결과값은 배열)
구문
arr.filter(callback(element[, index[, array]])[, thisArg])
매개변수
callback : 함수
element : 현재값
index : 인덱스
1. arr.filter(function(현재값) => {
return 조건
})
2. arr.filter(현재값 => 조건)
const arr1 = [ 10,20,30,40,50]
const data = [
{id:1, name:'홍길동'},
{id:2, name:'강호동'},
{id:3, name:'김철수'},
{id:4, name:'김을동'},
{id:5, name:'김태리'},
]
//배열.filter ( 현재값 => 조건 ) -> 결과 배열
const arr2 = arr1.filter( item => {
return item > 30
})
console.log( arr2 )
const arr3 = arr1.filter( item => item >= 40 )
console.log( arr3 )
//30을 제외한 값 출력 : 데이터 삭제원리
const arr4 = arr1.filter( item => item !== 30 )
console.log( arr4 )
//data에서 id가 3인 사람만 출력하기
const arr5 = data.filter( item => {
return item.id === 3
})
console.log( arr5 )
//2번 삭제
const arr6 = data.filter( item => item.id !== 2 )
console.log( arr6 )
<참고>
filter mdn
Array.prototype.filter() - JavaScript | MDN (mozilla.org)
Array.prototype.filter() - JavaScript | MDN
filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다.
developer.mozilla.org
반응형
'JavaScript' 카테고리의 다른 글
[Javascript] 특정 문자 위치 찾기 indexOf 함수 (0) | 2022.05.30 |
---|---|
[Javascript] find, findIndex 함수 (0) | 2022.05.29 |
[Javascript] Array map 사용법 (0) | 2022.05.27 |
[Javascript] Array push() vs concat()비교 (0) | 2022.05.26 |
[Javascript] 화살표 함수 (0) | 2022.05.25 |