如何使用ES6 從物件中選擇屬性
在ES6 中,JavaScript 提供了幾種從物件中簡潔選擇特定屬性的方法方式。
使用解構
一種方法是使用解構,它允許您在一行中將特定屬性分配給變數:
1 | ({ id, title }) => ({ id, title });
|
登入後複製
使用參數解構
一個更精簡的解決方案是使用參數解構,消除對顯式v 的需要參數:
1 | ({id, title}) => ({id, title});
|
登入後複製
使用Object.assign()
為了獲得更大的靈活性,您可以使用Object.assign()建立具有所選屬性的新物件:
1 2 3 | function pick(o, ...props) {
return Object.assign({}, ...props.map(prop => ({[prop]: o[prop]})));
}
|
登入後複製
保留財產屬性
如果需要保留原有的屬性屬性(可配置、getters、setters),可以使用:
1 2 3 4 5 6 7 8 9 10 | 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(prop)})))
);
}
|
登入後複製
以上是如何使用 ES6 高效率地從 JavaScript 物件中選擇屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!