>웹 프론트엔드 >JS 튜토리얼 >ES6의 객체에서 특정 속성을 간결하게 추출하는 방법은 무엇입니까?

ES6의 객체에서 특정 속성을 간결하게 추출하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-15 09:48:12189검색

How to Concisely Extract Specific Properties from an Object in ES6?

ES6의 객체에서 속성을 추출하는 단일 라이너

문제:

다음과 같은 함수를 어떻게 작성할 수 있습니까? 가장 간결한 방식으로 객체에서 특정 속성을 선택합니다. ES6?

초기 솔루션:

다음 접근 방식은 이를 달성하기 위해 구조 분해 및 단순화된 객체 리터럴을 사용합니다.

(v) => {
    let { id, title } = v;
    return { id, title };
}

개선됨 솔루션:

보다 간소화된 솔루션입니다. 또한 속성 이름의 반복을 제거하고 매개변수 분해를 통해 달성할 수 있습니다.

({id, title}) => ({id, title})

이 솔루션은 원하는 기능을 유지하면서 보다 간결한 대안을 제공합니다.

대체 접근 방식:

  • Object.할당: 이 접근 방식은 원래 속성의 속성을 보존하는 동시에 열거할 수 없는 속성을 필터링하는 데 사용할 수 있습니다.
function pick(o, ...props) {
    var has = p => o.propertyIsEnumerable(p),
        get = p => Object.getOwnPropertyDescriptor(o, p);

    return Object.defineProperties({},
        Object.assign({}, ...props
            .filter(prop => has(prop))
            .map(prop => ({prop: get(props)})))
    );
}

위 내용은 ES6의 객체에서 특정 속성을 간결하게 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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