Lodash는 자바스크립트로 작성된 유용한 유틸리티 라이브러리입니다. Lodash는 데이터를 다루는 다양한 연산을 제공하며, 이를 통해 코드의 가독성과 효율성을 높일 수 있습니다. 이번 글에서는 Lodash의 일부 데이터 연산 함수들과 간단한 사용 예제를 소개하겠습니다.
1. _.map
_.map
함수는 배열의 값에 대해 지정된 함수를 적용하여 새로운 배열을 생성합니다. 이를 통해 배열의 각 요소를 변환하거나 원하는 형태로 가공할 수 있습니다.
사용 예제:
const numbers = [1, 2, 3, 4, 5];
const squaredNumbers = _.map(numbers, (num) => {
return num * num;
});
console.log(squaredNumbers);
// 출력: [1, 4, 9, 16, 25]
위 예제에서는 numbers
배열의 각 요소를 제곱하여 squaredNumbers
배열을 생성합니다.
2. _.filter
_.filter
함수는 배열의 값에 대해 지정된 조건을 만족하는 요소들로 이루어진 새로운 배열을 생성합니다. 이를 통해 배열에서 필요한 요소들만 추출할 수 있습니다.
사용 예제:
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = _.filter(numbers, (num) => {
return num % 2 === 0;
});
console.log(evenNumbers);
// 출력: [2, 4]
위 예제에서는 numbers
배열에서 짝수인 요소들만 추출하여 evenNumbers
배열을 생성합니다.
3. _.reduce
_.reduce
함수는 배열의 값에 대해 지정된 함수를 반복적으로 적용하여 하나의 결과값을 반환합니다. 이를 통해 배열의 값을 축약하거나, 통계적인 계산을 수행할 수 있습니다.
사용 예제:
const numbers = [1, 2, 3, 4, 5];
const sumOfNumbers = _.reduce(numbers, (sum, num) => {
return sum + num;
}, 0);
console.log(sumOfNumbers);
// 출력: 15
위 예제에서는 numbers
배열의 모든 요소를 더하여 sumOfNumbers
변수에 저장합니다.
4. _.sortBy
_.sortBy
함수는 배열의 값을 기준으로 정렬된 새로운 배열을 반환합니다. 정렬 기준은 지정된 함수에 의해 결정됩니다.
사용 예제:
const students = [
{ name: 'Alice', age: 20 },
{ name: 'Bob', age: 25 },
{ name: 'Charlie', age: 18 }
];
const sortedStudents = _.sortBy(students, (student) => {
return student.age;
});
console.log(sortedStudents);
// 출력: [
// { name: 'Charlie', age: 18 },
// { name: 'Alice', age: 20 },
// { name: 'Bob', age: 25 }
// ]
위 예제에서는 students
배열을 나이를 기준으로 오름차순 정렬하여 sortedStudents
배열을 생성합니다.
5. _.groupBy
_.groupBy
함수는 배열의 값을 기준으로 그룹화된 객체를 반환합니다. 그룹화 기준은 지정된 함수에 의해 결정됩니다.
사용 예제:
const students = [
{ name: 'Alice', grade: 'A' },
{ name: 'Bob', grade: 'B' },
{ name: 'Charlie', grade: 'A' }
];
const groupedStudents = _.groupBy(students, (student) => {
return student.grade;
});
console.log(groupedStudents);
// 출력: {
// A: [
// { name: 'Alice', grade: 'A' },
// { name: 'Charlie', grade: 'A' }
// ],
// B: [
// { name: 'Bob', grade: 'B' }
// ]
// }
위 예제에서는 students
배열을 학점을 기준으로 그룹화하여 groupedStudents
객체를 생성합니다.
Lodash는 이외에도 다양한 데이터 연산 함수들을 제공합니다. 위에서 소개한 함수들 외에도 Lodash 공식 문서를 참고하여 여러 기능을 활용해보세요!