[javascript] Lodash의 데이터베이스 함수들과 사용 예제

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 저장소를 참고해보세요.