ES6의 객체에서 특정 속성을 가져오는 원라이너
Q: ES6의 객체에서 특정 속성만 추출하려면 어떻게 해야 합니까? ES6를 사용하여 간결한 방식을 사용하시겠습니까?
A: 다음은 몇 가지입니다. 접근 방식:
가장 컴팩트한 접근 방식:
매개변수 구조 해제를 사용하여 매개변수 변수 사용 방지:
({id, title}) => ({id, title})
일반화된 접근 방식:
이 방법은 Object.sign 및 계산된 속성을 사용하여 보다 일반적인 해결책:
function pick(o, ...props) { return Object.assign({}, ...props.map(prop => ({[prop]: o[prop]}))); }
속성 속성 보존:
구성 가능성, getter 및 setter와 같은 속성의 속성을 제외하면서 유지해야 하는 경우 열거할 수 없는 속성인 경우 다음 접근 방식을 사용하세요.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!