[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보다 더 기능이 많고 성능도 뛰어나기 때문에 고려할만한 대안입니다.

참고 자료: