Home IT/WEB 객체에서 원하는 키들만 선택하여 새로운 객체 만드는 방법, _.pick()

[lodash] 객체에서 원하는 키들만 선택하여 새로운 객체 만드는 방법, _.pick()

lodash는 JavaScript 유틸리티 라이브러리로, 객체와 배열을 다루는 다양한 메소드를 제공합니다. _.pick 메소드는 객체에서 지정된 키(key)들만을 선택하여 새로운 객체를 생성하는 기능을 수행합니다. 이는 원본 객체에서 원하는 속성만을 가져와서 새로운 객체를 만드는데 유용하게 사용됩니다.

작동 방식

inline ad

pick 메소드는 원본 객체에서 지정된 키들만 선택하여 새로운 객체를 생성됩니다. 선택된 속성들은 새로운 객체의 속성으로 복사됩니다. paths 에 포함된 키만 선택하게 됩니다. 원본 객체에 paths에 포함된 키가 없으면 무시돼요.

_.pick(object, [paths])

lodash _.pick 사용예제

pick 메소드는 원본 객체에서 특정 속성들만을 선택하여 새로운 객체를 생성하는 기능을 제공합니다. 선택하고자 하는 속성의 이름은 paths 매개변수를 통해 배열로 전달합니다. 원본 객체에 해당 키들이 존재하지 않는 경우에는 무시되고, 새로운 객체에도 해당 키들은 존재하지 않습니다.

const user = {
  id: 2023,
  name: 'Lee',
  age: 18,
  email: 'markettraders@gmail.com'
};

// 'name'과 'age' 속성만을 선택하여 새로운 객체 생성
const selectedUser = _.pick(user, ['name', 'age']);

console.log(selectedUser); // { name: 'Lee', age: 19 }

자바스크립트 reduce 사용예제

selectedKeys 배열에 선택하고자 하는 속성의 키들을 담아두고, reduce 메소드를 사용하여 원본 user 객체를 순회합니다. 각 속성의 키가 selectedKeys 배열에 포함되어 있다면, 해당 키와 값을 새로운 빈 객체({})에 추가합니다. 결과적으로 selectedUser 객체는 원하는 속성만을 가진 새로운 객체가 됩니다.

hasOwnProperty 메소드는 JavaScript의 내장 메소드로 객체가 특정 속성을 직접 가지고 있는지 확인하는 역할을 합니다. 이 메소드는 해당 객체의 프로토타입 체인을 따라가지 않고, 오직 객체 자체의 속성만을 확인합니다.

이 방법은 lodash를 사용하지 않고도 원하는 속성을 선택하여 새로운 객체를 생성할 수 있습니다. reduce 메소드를 사용하면 간단하고 자바스크립트 내장 함수만으로도 객체를 재구성할 수 있습니다.

const user = {
  id: 2023,
  name: 'Lee',
  age: 18,
  email: 'markettraders@gmail.com'
};

const selectedKeys = ['name', 'age'];

const selectedUser = selectedKeys.reduce((acc, key) => {
  if (user.hasOwnProperty(key)) {
    acc[key] = user[key];
  }
  return acc;
}, {});

console.log(selectedUser); // { name: 'Lee', age: 18 }

RECENT POSTS

[nest.js]nest.js, node.js, 프로젝트 생성 방법

Node.js 설치 Node.js의 공식 웹사이트(nodejs.org)에서 Windows용 인스톨러를 다운로드합니다. 다운로드한 인스톨러를 실행하여 설치합니다. Node Version Manager(NVM)을 사용하는 경우 nvm install node # 최신 버전 설치 nvm install 14 #...

[광주]위파크 더 센트럴 분양주택 분양안내

기본정보 공급위치: 광주광역시 서구 풍암동 10-12번지 일원 공급번호: 2023000351 공급규모: 625세대 분양/입주: 분양 2023-08-04 / 입주 2026-08 건설사: (주)호반건설 (주)라인건설 분양문의: 1670-5676 분양정보: 분양정보 자세히보기 홈페이지 주소: http://www.wepark-central.co.kr/ 모집공고문 보기 청약일정 모집공고일: 2023-08-04 청약접수: 2023-08-14...

[강원]힐스테이트 속초 분양주택 분양안내

기본정보 공급위치: 강원특별자치도 속초시 금호동 622-40 일원 공급번호: 2023000337 공급규모: 925세대 분양/입주: 분양 2023-07-21 / 입주 2026-05 건설사: 현대엔지니어링(주) 분양문의: 033-947-0925 분양정보: 분양정보 자세히보기 홈페이지 주소: http://www.hillstate-sokcho.co.kr 모집공고문 보기 청약일정 모집공고일: 2023-07-21 청약접수: 2023-07-31 ~...

GSAP와 ScrollTrigger 플러그인을 사용하여 여러 패널을 고정 시키는 방법

여러 패널 고정시키는 방법 GSAP (GreenSock Animation Platform)과 ScrollTrigger 플러그인을 사용하여 여러 패널을 스크롤 위치에 따라 고정하는 기능을 구현할 수 있습니다. <section id="section1" class="parallax__item"></section> <section id="section2"...