「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > JavaScript でオブジェクトの配列からプロパティを効率的に削除するにはどうすればよいですか?

JavaScript でオブジェクトの配列からプロパティを効率的に削除するにはどうすればよいですか?

2024 年 11 月 16 日に公開
ブラウズ:718

How can I efficiently remove properties from an array of objects in JavaScript?

オブジェクトの配列からのプロパティの効率的な削除

複数のオブジェクトを含む配列を扱う場合、各オブジェクトから特定のプロパティを削除する必要があります。 for ループを使用した単純なアプローチでも十分ですが、ES6 の機能とプロトタイプ操作を活用する別の方法を検討すると、より効率的な実装につながる可能性があります。

ES6 オブジェクトの分解

Oneこのような手法は、ES6 で導入されたオブジェクトの構造化です。これにより、オブジェクトから特定のプロパティを抽出し、さらに新しい変数に割り当てることができます。不要なプロパティを削除する場合、このアプローチは特に役立ちます。

次の例を考えてみましょう:

const array = [
  { bad: "something", good: "something" },
  { bad: "something", good: "something" }
];

各オブジェクトから「悪い」プロパティを削除するには、ES6 の構造化を使用して次のコードを利用できます。 .keepAttrs }) => keepAttrs);

const newArray = array.map(({ dropAttr1, dropAttr2, ...keepAttrs }) => keepAttrs);

マップ メソッドは、元の配列内の各オブジェクトを反復処理するために使用されます。
  • コールバック関数内で、オブジェクトの構造化は省略記号構文 (...) を使用して実行されます。新しいオブジェクト (keepAttrs) に保持する必要があるすべてのプロパティをキャプチャします。
  • dropAttr1 変数とdropAttr2 変数は、任意のプロパティのプレースホルダーとして機能します。
ES6 オブジェクト分解の利点

    パフォーマンス:
  • オブジェクトの分解は非常に効率的です。 for ループを使用するオーバーヘッドを回避し、必要な値に直接値を割り当てます。変数.
  • 簡潔さ:
  • コードは、for ループベースのアプローチと比較して大幅に短くてすっきりしており、可読性と保守性が向上しています。
  • 拡張性:
  • 今後、新しいプロパティが配列内のオブジェクトに追加されると、コードはそれらを分割プロセスから自動的に除外し、適切なプロパティを確保します。機能。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3