[javascript] Underscore.js를 사용하여 함수 체인의 결과를 가져오는 방법은 어떻게 되나요?
// 예제 배열
let numbers = [1, 2, 3, 4, 5];
// 함수 체인을 사용하여 배열을 변형하는 예제
let result = _.chain(numbers)
.map(num => num * 2) // 각 요소에 2를 곱해서 새로운 배열을 생성
.filter(num => num % 3 === 0) // 3의 배수인 요소만 필터링
.sum() // 모든 요소를 더해서 결과값 반환
.value(); // 함수 체인의 결과값 가져오기
console.log(result); // 24
위의 코드는 Underscore.js의 함수 체인을 사용하여 배열을 변형하고 최종 결과값을 가져오는 예제입니다.
먼저, _.chain()
함수를 사용하여 배열을 함수 체인으로 래핑합니다. 그리고 이후에 연속적으로 .map()
, .filter()
, .sum()
등의 배열 메서드를 호출합니다. 각 메서드는 이전 메서드의 결과를 받아 적용하며, 최종적으로 .value()
메서드를 사용하여 함수 체인의 결과값을 가져옵니다.
위의 예제에서는 체인된 함수들이 실행되어 numbers
배열에서 새로운 배열을 생성하고, 그 중 3의 배수인 요소만 필터링한 후에 모든 요소를 더한 결과값인 24를 반환합니다.
Underscore.js는 오래된 라이브러리이며, 이제는 Lodash라는 이름으로 알려져 있습니다. Lodash는 Underscore.js보다 더 기능이 많고 성능도 뛰어나기 때문에 고려할만한 대안입니다.
참고 자료: