1. ホーム
  2. javascript

[解決済み] 配列内のすべてのオブジェクトのプロパティを削除する

2022-04-23 12:36:53

質問

を削除したい。 bad プロパティを、配列内のすべてのオブジェクトから削除します。を使用するよりも良い方法はありますか? for をループして、すべてのオブジェクトからそれを削除しますか?

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

for (var i = 0, len = array.length; i < len; i++) {
  delete array[i].bad;
}

を使う方法があるはずだと思うんです。 prototype とかなんとか。どうなんでしょう。アイデアはありますか?

解決方法は?

他の方法は、化粧品で、実際にはループだけです。

例えば.

array.forEach(function(v){ delete v.bad });

注意事項

  • IE8と互換性を持たせたい場合は forEachのためのシム . prototypeについて言及されていますが、prototype.jsもまた はシムを持つ .
  • delete は最悪の事態の一つです 最適化キラー" . これを使用すると、アプリケーションのパフォーマンスが低下することがよくあります。あるプロパティを本当に削除したい場合、これを避けることはできませんが、多くの場合、そのプロパティを undefined または、そのプロパティを含まない新しいオブジェクトを構築するだけです。