>  기사  >  웹 프론트엔드  >  ES6에서 키로 객체 속성을 필터링하는 방법은 무엇입니까?

ES6에서 키로 객체 속성을 필터링하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-09 17:02:02288검색

How to Filter Object Properties by Key in ES6?

ES6에서 키로 개체 속성 필터링

JavaScript에서는 특정 기준에 따라 개체 속성을 필터링해야 하는 경우가 많습니다. ES6에서는 스프레드 연산자를 통해 이를 달성할 수 있는 깔끔하고 효율적인 방법을 제공합니다.

문제:

다음과 같은 객체가 주어졌을 때:

{
  item1: { key: 'sdfd', value: 'sdfd' },
  item2: { key: 'sdfd', value: 'sdfd' },
  item3: { key: 'sdfd', value: 'sdfd' }
}

목표 다음과 같은 특정 키가 있는 속성만 포함하는 새 개체를 만드는 것입니다. as:

{
  item1: { key: 'sdfd', value: 'sdfd' },
  item3: { key: 'sdfd', value: 'sdfd' }
}

해결책:

ES6에서는 Object.keys() 및 Array.filter() 메소드의 조합을 사용하여 객체 속성을 필터링할 수 있습니다. 이어서 Array.reduce() 메서드를 사용하여 새 객체를 생성합니다.

제공된 코드는 이를 보여줍니다. 접근 방식:

const raw = {
  item1: { key: 'sdfd', value: 'sdfd' },
  item2: { key: 'sdfd', value: 'sdfd' },
  item3: { key: 'sdfd', value: 'sdfd' }
};

const allowed = ['item1', 'item3'];

const filtered = Object.keys(raw)
  .filter(key => allowed.includes(key))
  .reduce((obj, key) => {
    obj[key] = raw[key];
    return obj;
  }, {});

console.log(filtered);

이 코드에서:

  1. Object.keys(raw)는 객체 키를 배열로 추출합니다.
  2. Array.filter(key = > allowed.includes(key))는 허용된 키를 기준으로 키를 필터링합니다. value.
  3. Array.reduce((obj, key) => { /* ... */ }, {})는 필터링된 키를 새 객체로 줄여 원본에서 해당 속성 값을 복사합니다. 개체입니다.

위 내용은 ES6에서 키로 객체 속성을 필터링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.