JavaScriptの配列の要素を削除する(delete演算子とspliceメソッド)

JavaScriptの配列の要素を削除する方法を紹介する。

delete演算子

delete演算子を使うと、削除した要素の値が「undefined」になる。
要素の数は変わらない。

numbers = ['zero','one','two','three'];
delete numbers[2]; //3番目の要素を削除
//numbersは['zero','one',undefined,'three'];

delete演算子で削除すると、配列に穴が開いてしまう。
この動作が期待した動作ではないことが多い。
要素を削除したら、インデックスを詰めてほしいはずだ。

spliceメソッド

spliceメソッドを使うと、削除した要素のインデックスを詰める。
要素の数は減少する。

numbers = ['zero','one','two','three'];
numbers.splice(2, 1); //3番目の要素を削除
//numbersは['zero','one','three'];

spliceメソッドは、1番目の引数に削除する要素のインデックスを、2番目の引数に削除する要素の数を指定する。

numbers.splice(削除する要素のインデックス, 削除する要素の数);

本来、spliceメソッドは配列の要素を置き換えるメソッドだが、このように使うことで、期待通りに配列の要素を削除することができる。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です