ホームページ >ウェブフロントエンド >jsチュートリアル >ES6 でオブジェクトから特定のプロパティを簡潔に抽出するにはどうすればよいですか?

ES6 でオブジェクトから特定のプロパティを簡潔に抽出するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-15 09:48:12194ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。