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