JavaScript | TypeScript/javascript 문법
[ Javascript ] Array.prototype.filter()
shiro21
2023. 1. 9. 14:09
반응형
filter() 메서드
filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다.
구문
arr.filter(callback(element[, index[, array]])[, thisArg]);
매개변수
- callback: 각 요소를 시험할 함수입니다. true를 반환하면 요소를 유지하고, false를 반환하면 버립니다.
- element: 처리할 현재 요소
- index: 처리할 현재 요소의 인덱스
- array: filter를 호출한 배열
- thisArg: callback을 실행할 때 this로 사용하는 값
반환 값
테스트를 통과한 요소로 이루어진 새로운 배열을 반환합니다. 어떤 요소도 테스트를 통과하지 못하면 빈 배열을 반환합니다.
예제
작은 값 걸러내기 [ 10 이하인 모든 요소가 제거된 새로운 배열을 만들어줍니다. ]
function isBig(value) {
return value >= 10;
}
let array = [1, 2, 5, 10, 100, 1000];
let filltered = array.filter(isBig);
console.log(filltered); // [10, 100, 1000]
배열 내용 검색 [ 배열 내용을 조건에 따라 검색한 새로운 배열을 만들어줍니다. ]
let array = ["사과", "바나나", "도토리", "포도", "도장", "망고", "오렌지", "사다리"];
function filterItems(query) {
return array.filter(function(el) {
return el.toLowerCase().indexOf(query.toLowerCase()) > -1;
});
}
console.log(filterItems("사")); // ['사과', '사다리']
console.log(filterItems("도")); // ['도토리', '포도', '도장']
.toLowerCase() 메서드는 대문자를 소문자로 변경시켜줍니다. ( 한글만 사용할때는 사용하지 않아도 됩니다. )
반응형