首頁 > web前端 > js教程 > ES6中如何選擇性地提取物件屬性?

ES6中如何選擇性地提取物件屬性?

Linda Hamilton
發布: 2024-12-17 11:12:26
原創
457 人瀏覽過

How to Selectively Extract Object Properties in ES6?

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板