JavaScriptで配列から特定の要素を削除する

published: 2018.10.22 / modified:

JavaScript で、配列から特定の要素を削除したい場合のメモ。
以下のサンプルは、いずれも splice メソッドを使用している。

配列から特定の要素を削除するサンプル その1

for 文、if 文、splice メソッドを使って、配列から特定の要素を削除する例。

var array = ['foo', 'bar', 'baz', 'foo', 'bar', 'baz'];
for (var i = 0; i < array.length; i++) {
  if (array[i] === 'bar') {
    array.splice(i, 1);
  }
}
console.log(array);
// ["foo", "baz", "foo", "baz"]

配列から特定の要素を削除するサンプル その2

以下は、indexOf メソッドや splice メソッドを使って、配列から特定の要素を削除する例。
indexOf メソッドで、要素の位置を取得し、その添字を splice メソッドの引数に指定している。
if 文を利用して、指定した要素が存在する場合に、splice メソッドで、その要素を削除する。

var array = ['foo', 'bar', 'baz'];
var index = array.indexOf('bar');
if (index >= 0) {
  array.splice(index, 1);
}
console.log(array);
// ["foo", "baz"]

配列に同じ内容(値)の要素が複数存在する場合は、最初の要素のみ削除される。

var array = ['foo', 'bar', 'baz', 'foo', 'bar', 'baz'];
var index = array.indexOf('bar');
if (index >= 0) {
  array.splice(index, 1);
}
console.log(array);
// ["foo", "baz", "foo", "bar", "baz"]

Previous Article

Next Article