Lodash는 JavaScript 유틸리티 라이브러리로, 강력한 데이터베이스 함수들을 제공합니다. 이러한 함수들은 데이터 조작이나 검색과 같은 작업을 간편하게 처리할 수 있도록 도와줍니다. 이번 글에서는 Lodash의 몇 가지 데이터베이스 함수들과 그 사용 예제를 살펴보겠습니다.
_.groupBy
_.groupBy
함수는 주어진 배열을 주어진 기준에 따라 그룹화합니다.
다음은 _.groupBy
함수의 사용 예제입니다.
const users = [
{ name: 'John', age: 30, city: 'Seoul' },
{ name: 'Jane', age: 25, city: 'Busan' },
{ name: 'Adam', age: 35, city: 'Seoul' },
{ name: 'Emily', age: 28, city: 'Busan' }
];
const usersByCity = _.groupBy(users, 'city');
console.log(usersByCity);
위 예제에서는 users
배열을 city
속성을 기준으로 그룹화하였습니다. usersByCity
객체에는 다음과 같은 결과가 저장됩니다.
{
'Seoul': [
{ name: 'John', age: 30, city: 'Seoul' },
{ name: 'Adam', age: 35, city: 'Seoul' }
],
'Busan': [
{ name: 'Jane', age: 25, city: 'Busan' },
{ name: 'Emily', age: 28, city: 'Busan' }
]
}
_.filter
_.filter
함수는 주어진 배열에서 조건에 맞는 요소들로 이루어진 새로운 배열을 반환합니다.
다음은 _.filter
함수의 사용 예제입니다.
const products = [
{ name: 'Apple', price: 1000, category: 'Fruit' },
{ name: 'Banana', price: 500, category: 'Fruit' },
{ name: 'Carrot', price: 200, category: 'Vegetable' },
{ name: 'Orange', price: 800, category: 'Fruit' }
];
const affordableFruits = _.filter(products, { category: 'Fruit', price: price => price <= 1000 });
console.log(affordableFruits);
위 예제에서는 products
배열에서 카테고리가 ‘Fruit’이면서 가격이 1000 이하인 상품들로 이루어진 새로운 배열을 반환하였습니다. affordableFruits
배열에는 다음과 같은 결과가 저장됩니다.
[
{ name: 'Apple', price: 1000, category: 'Fruit' },
{ name: 'Banana', price: 500, category: 'Fruit' },
{ name: 'Orange', price: 800, category: 'Fruit' }
]
_.sortBy
_.sortBy
함수는 주어진 배열을 주어진 속성을 기준으로 정렬합니다.
다음은 _.sortBy
함수의 사용 예제입니다.
const books = [
{ title: 'JavaScript: The Good Parts', author: 'Douglas Crockford', price: 20 },
{ title: 'Clean Code', author: 'Robert C. Martin', price: 30 },
{ title: 'Eloquent JavaScript', author: 'Marijn Haverbeke', price: 25 }
];
const sortedBooks = _.sortBy(books, 'price');
console.log(sortedBooks);
위 예제에서는 books
배열을 price
속성을 기준으로 오름차순으로 정렬하였습니다. sortedBooks
배열에는 다음과 같은 결과가 저장됩니다.
[
{ title: 'Banana', author: 'Douglas Crockford', price: 20 },
{ title: 'Eloquent JavaScript', author: 'Marijn Haverbeke', price: 25 },
{ title: 'Clean Code', author: 'Robert C. Martin', price: 30 }
]
참고 자료
위 예제 코드는 Lodash 버전 4.17.15을 기준으로 작성되었습니다. Lodash의 다양한 함수들을 활용하여 데이터베이스 작업을 효율적이고 간결하게 처리할 수 있습니다. 자세한 내용은 Lodash 공식 문서와 GitHub 저장소를 참고해보세요.