ES6 中從物件中取得特定屬性的單行
問:如何從ES6 中的物件中僅擷取某些屬性使用ES6的簡潔方式?
A:這裡有一些方法:
最緊密的方法:
使用參數解構來避免使用參數變數:
({id, title}) => ({id, title})
通用方法:
該方法使用Object.assign 和計算屬性來實現更多一般解決方案:
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中文網其他相關文章!