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

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

Barbara Streisand
リリース: 2024-12-24 17:32:14
オリジナル
181 人が閲覧しました

How Can I Efficiently Extract Specific Properties from an Object in ES6?

ES6 のオブジェクトからプロパティを取得するためのワンライナー

多くの開発者は、ES6 のオブジェクトから特定のプロパティを抽出するための簡潔な方法を探してきました。一般的なソリューションの 1 つは、構造化して単純化したオブジェクト リテラルを使用しますが、コード内でフィールドのリストを繰り返すのは面倒な場合があります。

改善されたソリューション

より合理化されたアプローチには、「パラメータ」が含まれます。構造化」により、明示的なパラメータ:

({id, title}) => ({id, title})
ログイン後にコピー

一般化された解決策

柔軟性を高めるために、オブジェクトと任意の数のプロパティを引数として受け入れる「pick」関数を検討してください。

function pick(o, ...props) {
    return Object.assign({}, ...props.map(prop => ({[prop]: o[prop]})))
}
ログイン後にコピー

財産の保持属性

列挙不可能なプロパティを除外しながら、構成可能性やゲッター/セッターなどのプロパティ属性を保持するには:

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 では、さまざまなユースケースに対応します。

以上がES6 でオブジェクトから特定のプロパティを効率的に抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート