Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

lodash에서 pluck() 메서드를 대체하는 방법은 무엇일까요?

lodash 버전 4부터 pluck() 메서드는 더 이상 제공되지 않습니다. 그 이유는 pluck()이 사실상 map()과 동일한 기능을 수행했기 때문입니다. 객체 컬렉션에서 특정 속성 값을 추출하던 이 기능은 이제 map() 함수 하나로 충분히 대체할 수 있습니다.

map()을 활용한 대체 방법

기존에 pluck()으로 처리하던 작업은 다음과 같이 map() 함수를 사용하여 동일하게 구현할 수 있습니다.

예제

import _ from 'lodash'
const objects = [{ 'a': 1 }, { 'a': 2 }];
console.log(_.map(objects, 'a'))

위 코드에서 _.map()의 두 번째 인수로 문자열 'a'를 전달하면, 각 객체에서 해당 키에 대응하는 값을 자동으로 추출합니다. 이것이 바로 예전 pluck()이 하던 역할입니다.

실행 결과

[1, 2]

실행 결과 각 객체의 a 속성 값인 [1, 2] 배열이 출력됩니다.

정리

  • pluck()은 lodash 4에서 제거되었습니다.
  • 제거된 이유는 map()과 기능이 중복되었기 때문입니다.
  • _.map(컬렉션, '속성명') 형태로 사용하면 기존 pluck()과 완전히 동일한 결과를 얻을 수 있습니다.