[javascript] Lodash의 데이터 필터링 함수들과 사용 예제
Lodash는 자바스크립트의 유용한 함수들을 제공하는 유틸리티 라이브러리입니다. 데이터를 필터링하는 것은 많은 개발자에게 일상적인 작업이며 Lodash는 이를 간단하게 처리할 수 있는 다양한 함수들을 제공합니다. 이번 블로그 포스트에서는 Lodash의 몇 가지 데이터 필터링 함수와 간단한 사용 예제를 살펴보겠습니다.
1. filter
함수
filter
함수는 배열을 순회하면서 주어진 조건을 만족하는 요소들로 이루어진 새로운 배열을 반환합니다.
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const evenNumbers = _.filter(numbers, (num) => num % 2 === 0);
console.log(evenNumbers);
// 출력: [2, 4, 6, 8, 10]
위 예제에서는 numbers
배열에서 짝수인 숫자들만을 필터링하여 evenNumbers
배열에 저장합니다.
2. reject
함수
reject
함수는 filter
함수와 반대로, 주어진 조건을 만족하지 않는 요소들로 이루어진 새로운 배열을 반환합니다.
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const oddNumbers = _.reject(numbers, (num) => num % 2 === 0);
console.log(oddNumbers);
// 출력: [1, 3, 5, 7, 9]
위 예제에서는 numbers
배열에서 홀수인 숫자들만을 필터링하여 oddNumbers
배열에 저장합니다.
3. find
함수
find
함수는 배열을 순회하면서 주어진 조건을 만족하는 첫 번째 요소를 반환합니다.
const users = [
{ id: 1, name: "John" },
{ id: 2, name: "Jane" },
{ id: 3, name: "Bob" },
];
const user = _.find(users, { name: "Bob" });
console.log(user);
// 출력: { id: 3, name: "Bob" }
위 예제에서는 users
배열에서 name
속성이 “Bob”인 첫 번째 사용자를 찾아 반환합니다.
4. groupBy
함수
groupBy
함수는 배열을 주어진 조건에 따라 그룹화하여 객체로 반환합니다.
const cities = [
{ name: "Seoul", country: "South Korea" },
{ name: "Tokyo", country: "Japan" },
{ name: "Beijing", country: "China" },
{ name: "Bangkok", country: "Thailand" },
];
const countries = _.groupBy(cities, "country");
console.log(countries);
/*
출력:
{
"South Korea": [
{ name: "Seoul", country: "South Korea" }
],
"Japan": [
{ name: "Tokyo", country: "Japan" }
],
"China": [
{ name: "Beijing", country: "China" }
],
"Thailand": [
{ name: "Bangkok", country: "Thailand" }
]
}
*/
위 예제에서는 cities
배열을 country
속성에 따라 그룹화하여 countries
객체로 반환합니다.
이렇듯 Lodash의 데이터 필터링 함수들은 간편하고 효율적인 방법으로 데이터를 처리할 수 있도록 도와줍니다.