JavaScript의 개체에서 속성을 선택하거나 생략하는 방법

JavaScript 개체에서 속성을 선택하거나 생략하는 것은 기본 제공 솔루션이 없는 매우 일반적인 문제입니다. 이 게시물에서는 이러한 목표를 달성하는 데 도움이 되는 고유한 pickomit 유틸리티 기능을 사용할 것입니다.

이 튜토리얼이 마음에 든다면 💓, 🦄 또는 🔖를 표시하고 다음 사항을 고려하십시오.



📬 가입하기 my free weekly dev newsletter
🎥 구독하기

개체에서 속성 선택



JavaScript 객체에서 여러 속성을 선택하려는 경우 다음pick 함수를 구현할 수 있습니다.

function pick(obj, ...props) {
  return props.reduce(function(result, prop) {
    result[prop] = obj[prop];
    return result;
  }, {});
}


이것을 실제로 보자! pick 함수에 대한 우리의 첫 번째 인수는 우리가 선택하려는 객체가 될 것이고 후속 인수는 우리가 유지하려는 키의 이름이 될 것입니다.

const person = {
  name: 'Pete',
  dog: 'Daffodil',
  cat: 'Omar',
};

const dogPerson = pick(person, 'name', 'dog');

console.log(dogPerson);
// { name: "Pete", dog: "Daffodil" }

person 객체를 첫 번째 인수로 제공한 다음 문자열 "name""dog"를 후속 인수로 제공함으로써 객체에서 "name""dog" 소품을 유지할 수 있습니다. "cat" 소품.

개체에서 속성 생략



JavaScript 객체에서 여러 속성을 생략하려는 경우 다음omit 함수를 구현할 수 있습니다.

function omit(obj, ...props) {
  const result = { ...obj };
  props.forEach(function(prop) {
    delete result[prop];
  });
  return result;
}


다시 한 번 동일한person 개체를 사용하여 이것이 실제로 작동하는지 살펴보겠습니다.

const person = {
  name: 'Pete',
  dog: 'Daffodil',
  cat: 'Omar',
};

const catPerson = omit(person, 'dog');

console.log(catPerson);
// { name: "Pete", cat: "Omar" }


첫 번째 인수로 person 객체를 제공하고 두 번째 인수로 문자열 "dog"를 제공하면 "dog" 속성이 생략된 새 객체를 얻을 수 있습니다!

좋은 웹페이지 즐겨찾기