JavaScript에서 lodash는 유틸리티 라이브러리로서 매우 널리 사용되는 도구이다. lodash는 JavaScript의 일반적인 작업을 보다 쉽게 처리할 수 있도록 도와주는 함수들을 제공한다.

map, filter, reduce와 같은 함수들이 있다.forEach 대신 map을 사용하여 배열을 반복할 경우, 내부적으로 성능적으로 효율적인 방법을 사용한다.npm install lodash
설치 후, JavaScript 파일에서 Lodash를 가져와 사용할 수 있다.
import _ from 'lodash';
// 또는
import map from 'lodash/map';
import filter from 'lodash/filter';
const numbers = [1, 2, 3, 4, 5];
// map: 배열의 각 요소에 함수를 적용
const doubled = _.map(numbers, n => n * 2);
console.log(doubled); // [2, 4, 6, 8, 10]
// filter: 조건을 만족하는 요소만 반환
const evens = _.filter(numbers, n => n % 2 === 0);
console.log(evens); // [2, 4]
const users = [
{ user: 'John', age: 34 },
{ user: 'Jane', age: 28 },
{ user: 'Jack', age: 40 }
];
// find: 조건을 만족하는 첫 번째 요소 반환
const user = _.find(users, { age: 28 });
console.log(user); // { user: 'Jane', age: 28 }
// sortBy: 특정 속성을 기준으로 정렬
const sortedUsers = _.sortBy(users, ['age']);
console.log(sortedUsers);
/*
[
{ user: 'Jane', age: 28 },
{ user: 'John', age: 34 },
{ user: 'Jack', age: 40 }
]
*/
const add = (a, b) => a + b;
const square = x => x * x;
// flow: 함수를 순서대로 실행
const addAndSquare = _.flow([add, square]);
console.log(addAndSquare(1, 2)); // 9 (1 + 2 = 3, 3^2 = 9)
_.map: 배열의 각 요소에 함수를 적용하여 새로운 배열을 반환
_.filter: 조건을 만족하는 요소들로 이루어진 새로운 배열을 반환
_.find: 조건을 만족하는 첫 번째 요소를 반환
_.sortBy: 특정 속성을 기준으로 배열을 정렬
_.reduce: 배열을 하나의 값으로 축약
_.cloneDeep: 깊은 복사
_.merge: 객체 병합
_.debounce: 디바운스 함수 생성
Lodash를 사용하면 다양한 유틸리티 함수들을 통해 JavaScript 개발을 보다 쉽고 효율적으로 만들 수 있다.