이 글은 MDN사이트를 보고 공부하다 모르겠던 함수의 사용법을 개인적으로 정리한 내용 입니다.
배열에서 필요한 내용만 뽑아 리턴하는 함수
예문)
const animal = ['dog', 'rabit', 'Buffalo', 'cat', 'Hippopotamus', 'Wolf'];
//구문
//arr.filter(callback(element[, index[, array]])[, thisArg])
const result = animal.filter(animal => animal.length > 3);
console.log(result);
// expected output: Array ["rabit", "Buffalo", "Hippopotamus"]
arr.filter(callback(element[, index[, array]])[{}, thisArg])
calback
element
: 처리할 현재 요소index [Optional]
: 처리할 현재 요소의 인덱스array [Optional]
: filter를 호출한 배열const result = [1,2,3,4,5].filter((value, index, arr) => 조건);
//10보다 큰 수만 출력
const arr = [1,5,12,4,130,24,6];
function isBigEnogh(value,index,array){
return value > 10;
}
let filtered = arr.filter(isBigEnogh);
console.log(filtered);
//> Array [12, 130, 24]
//배열 내용을 조건에 따라 검색하는 예문
let animal = ['bee', 'camel', 'cat', 'dolphin', 'pig', 'pigeon'];
function filterItems(query){
return animal.filter(function(el) {
return el.toLowerCase().indexOf(query.toLowerCase()) > -1;
});
}
console.log(filterItems('ca')); //[ 'camel', 'cat' ]
console.log(filterItems('e')); //[ 'bee', 'camel', 'pigeon' ]
🔖참조
MDN: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/filter