首頁 >web前端 >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.assign: 這種方法可以用來保存原始屬性的屬性,同時也過濾掉不可列舉的屬性:
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