TIL/JavaScript

[TIL] Array filter () 함수

"유니" 2023. 1. 14. 21:30

 

 

 

♦️ filter는 해석 그대로 걸러주는 역할을 하는 함수이다. 주로 특정 조건을 만족하는 새로운 배열을 필요로 할 때 사용하며, 자바스크립트에서 filter는 배열에 사용한다. 

 

 

✏️ filter란? 

let array = [3, 5, 1, 11, 0, 15, 'happy'];
let result = array.filter((value) => value < 10) 
console.log(result);

//array [3, 5, 1, 0]

array라는 배열에서 10 미만의 값을 추출할 때 위와 같이 filter 함수를 사용할 수 있다. 

 

 

✏️ 사용법

let array = [3, 5, 1, 11, 0, 15, 'happy'];

1️⃣ 
let result = array.filter((value) => value < 10);

2️⃣
function lessThanTen(value) {
	return value < 10 }
let result = array.filter(lessThanTen);

filter를 쓸 때, 조건식을 filter() 괄호 안에 쓰는 방법이 있고 filter 외부에 사용하는 방법이 있다. 

함수를 filter 내부에 사용하면 코드라인 가독성이 좋다는 장점이 있고, filter 조건을 외부함수로 선언하면 조건식이 복잡해질 때에 유용할 것 같다.

 

 

✏️예시

let people = [
	{ name: 'hoy', money: 200 },
	{ name: 'poi', money: 300 },    
	{ name: 'moly', money: 150 },    
	{ name: 'kkko', money: 500 }
];


let richPeople = people.filter((man) => man.money > 250)
console.log(richPeople);

//[{ name: 'poi', money: 300 },{ name: 'kkko', money: 500 }]

위 예시와 같이 말 그대로 무언가를 걸러낼 때 filter 함수를 사용하면 좋다.  

filter는 map, reduce와 같은 다른 함수와도 자주 함께 쓰이니 이 방법도 익히면 좋을듯!