【javascript】オブジェクト(連想配列)の要素を削除する
公開日:
更新日:
カテゴリー: javascript
javascritpのオブジェクト(いわゆる連想配列)の値(要素)を削除する方法を紹介しています。
delete演算子で削除する
オブジェクトから要素(プロパティ)を削除する場合、delete演算子を使います。
delete演算子は、オブジェクトからプロパティを削除します(詳細はこちら)。
オブジェクトの指定要素を削除する
次のようなオブジェクトを作成したとします。
1 2 | //オブジェクトの作成 var object = {a: 'A' ,b: 'B' ,c: 'C' }; |
このとき、object.aという要素を削除する場合、このようにします。
1 2 3 4 | //オブジェクトの要素を削除 delete object.a; //この書き方でも削除できます delete object[ 'a' ]; |
オブジェクトの全ての要素を削除する
オブジェクトの全ての要素を削除する場合、このようにします。
1 2 3 4 5 | //オブジェクトをループ for ( var key in object){ //オブジェクトの要素を一つずつ削除していく delete object[key]; } |
nullを指定した場合
次のようにオブジェクトの要素(object.a)に「null」をした場合、
1 | object[a] = null ; |
次のようにnullが指定されるだけで要素そのものは削除されません。
1 | object = {a: null ,b: 'B' ,c: 'C' }; |
delete演算子で配列の要素を削除した場合
delete演算子で配列の要素を削除する場合は注意が必要です。
というのも、delete演算子で要素を削除しても、「配列の長さ」は変化しません。
1 2 | //配列の作成 var array = [ "太郎" , "次郎" , "三郎" , "四郎" , "五郎" ]; |
上のような配列があった場合、
1 2 | //配列の要素を削除 delete array[2]; |
のように配列の3番目の要素を削除しても、array[3]は「四郎」、array[4]は「五郎」のままです。
削除されたarray[2]は「undefined」になります。
また、
1 2 | //配列の最後の要素を削除 delete array[array.length-1]; |
のように配列の最後の要素を削除しても「undefined」になります。
なお、delete演算子で削除された要素は、配列の一部ではなくなります。
Tips
オブジェクトではなく、配列の指定要素を削除したい場合は【javascript】配列の指定要素を削除するを参考にしてください。
あわせて読んでほしい!
コメント
まだコメントはありません。
コメントフォーム