JavaScriptオブジェクトからプロパティを削除する方法

JavaScriptオブジェクトからプロパティを削除するにはさまざまな方法があります。代替案と提案された解決策を見つける

オブジェクトからプロパティを削除する意味的に正しい方法は、deleteキーワード。

与えられたオブジェクト

const car = {
  color: 'blue',
  brand: 'Ford'
}

を使用して、このオブジェクトからプロパティを削除できます

delete car.brand

Delete a property from an object in JavaScript

また、次のように表現されます。

delete car['brand']
delete car.brand
delete newCar['brand']

プロパティを未定義に設定する

非常に最適化された方法でこの操作を実行する必要がある場合、たとえば、ループ内の多数のオブジェクトを操作している場合、別のオプションは、プロパティをに設定することです。undefined

その性質上、deleteかなり遅い単純な再割り当てよりもundefined、50倍以上遅くなります。

ただし、プロパティはオブジェクトから削除されないことに注意してください。その値は消去されますが、オブジェクトを反復処理してもまだ存在します。

Iterate over the object

使用するdeleteはまだ非常に高速です。この種のパフォーマンスの問題は、正当な理由がある場合にのみ調べる必要があります。そうでない場合は、より明確なセマンティクスと機能を使用することをお勧めします。

オブジェクトを変更せずにプロパティを削除する

可変性が懸念される場合は、削除するプロパティを除いて、古いプロパティからすべてのプロパティをコピーすることで、完全に新しいオブジェクトを作成できます。

const car = {
  color: 'blue',
  brand: 'Ford'
}
const prop = 'color'

const newCar = Object.keys(car).reduce((object, key) => { if (key !== prop) { object[key] = car[key] } return object }, {})

(見るObject.keys()

Create a new object without mutating the original

私の無料ダウンロードJavaScriptビギナーズハンドブック


その他のjsチュートリアル: