[javascript] Lodash의 순회 함수들과 사용 예제
Lodash는 JavaScript로 작성된 유용한 유틸리티 라이브러리입니다. Lodash를 사용하면 배열이나 객체를 쉽게 순회하고 조작할 수 있습니다. 이번 글에서는 Lodash의 주요 순회 함수들과 그 사용 예제를 알아보겠습니다.
1. _.forEach
_.forEach
함수는 배열이나 객체의 각 요소를 순회하면서 콜백 함수를 실행합니다. 이 함수는 원본 배열이나 객체를 변경하지 않고 순회만 수행합니다.
const array = [1, 2, 3, 4, 5];
const object = { a: 1, b: 2, c: 3 };
_.forEach(array, (value, index) => {
console.log(`array[${index}] = ${value}`);
});
_.forEach(object, (value, key) => {
console.log(`object[${key}] = ${value}`);
});
실행 결과:
array[0] = 1
array[1] = 2
array[2] = 3
array[3] = 4
array[4] = 5
object[a] = 1
object[b] = 2
object[c] = 3
2. _.map
_.map
함수는 배열이나 객체의 각 요소를 순회하면서 콜백 함수를 실행하고, 해당 요소를 변형한 결과를 새로운 배열로 반환합니다.
const array = [1, 2, 3, 4, 5];
const object = { a: 1, b: 2, c: 3 };
const mappedArray = _.map(array, (value) => value * 2);
const mappedObject = _.map(object, (value) => value * 2);
console.log(mappedArray); // [2, 4, 6, 8, 10]
console.log(mappedObject); // [2, 4, 6]
3. _.filter
_.filter
함수는 배열이나 객체의 각 요소를 순회하면서 콜백 함수를 실행하고, 조건을 만족하는 요소만을 모아 새로운 배열로 반환합니다.
const array = [1, 2, 3, 4, 5];
const object = { a: 1, b: 2, c: 3 };
const filteredArray = _.filter(array, (value) => value % 2 === 0);
const filteredObject = _.filter(object, (value) => value % 2 === 0);
console.log(filteredArray); // [2, 4]
console.log(filteredObject); // [2]
4. _.reduce
_.reduce
함수는 배열이나 객체의 각 요소를 순회하면서 콜백 함수를 실행하고, 하나의 결과값을 반환합니다. 이 함수는 초기값을 지정할 수 있으며, 각 순회 단계에서 콜백 함수의 반환값을 이어서 다음 순회에 사용합니다.
const array = [1, 2, 3, 4, 5];
const sum = _.reduce(array, (result, value) => result + value, 0);
console.log(sum); // 15
5. _.forEachRight, _.mapValues, _.filter, _.reduceRight
_.forEachRight
, _.mapValues
, _.filter
, _.reduceRight
함수들은 각각 _.forEach
, _.map
, _.filter
, _.reduce
와 동일한 기능을 수행하지만, 순회 순서가 거꾸로 이루어집니다.
이외에도 Lodash에는 다양한 순회 함수들이 있으며, 각 함수의 자세한 사용법은 공식 문서를 참고하시기 바랍니다.