lodash의 객체에 사용할 수 있는 pickBy() 함수에 대하여 알아봅니다.



# lodash pickBy()는?
pickBy()는 객체에 사용하는 lodash 함수들 중 하나입니다. lodash의 pick()과 비슷한데 둘 다 pick이라는 이름처럼 객체에서 특정 값만 찾거나 필터링 할 때 사용하면 매우 좋습니다. 아래는 간단한 사용 문법입니다.

_.pickBy(객체, 함수)


첫 번째 인자는 찾을 대상의 객체를 전달하고 두 번째에는 해당 객체에서 찾을 조건을 함수로 전달하면 됩니다. 그럼 아래에서 간단한 예제를 만들어 자세히 알아봅니다.


! lodash pickBy() 예제보기
먼저 아래와 같이 몇 가지 값을 가지고 있는 객체 myObj가 있다고 생각해봅니다. 
myObj = {
  no: 5,
  name: '웹이즈프리',
  enName: 'webisfree',
  score: 92
}
이 중에서 객체의 value 또는 key의 값을 확인하여 조건에 따라 원하는 값을 pickBy()를 사용하여 찾아보려고 합니다.

@ value가 92인 값 가져오기
_.pickBy(myObj, function(value,key) { return value === 92 });

// 출력결과
{ score: 92 }

@ value가 숫자인 값 가져오기
_.pickBy(myObj, function(value,key) { return typeof value === 'number' })

// 출력결과
{no: 5, score: 92}

@ key가 name인 값만 가져오기
_.pickBy(myObj, function(value,key) { return key === 'name' })

// 출력결과
{name: "웹이즈프리"}


이처럼 객체에 pickBy()를 사용하면 key, value에 따라 원하는 값을 찾을 수 있습니다. 여기까지 lodash pickBy() 함수의 몇 가지 예제와 사용 방법을 간단하게 알아보았습니다.