【JavaScript】配列から特定の要素を削除する方法をまとめてみた

特定の要素を1つだけ削除する

配列からある一つの要素を削除したい時は、

  • indexOfメソッドを使ってその要素のインデックス番号を取得
  • spliceメソッドを使って配列からその要素のインデックスを指定して削除

という手順で指定した要素を削除することができます。

const array = [1, 3, 4, 1, 8]
const i = array.indexOf(1)

const result = array.splice(i, 1)  //この時点で配列から一つ目の[1]が削除される

console.log(result)  // [3, 4, 1, 8]

このやり方だと、最初に当てはまった要素のみ削除されます。

上の例だと、一つ目の[1]は削除されるけど、二つ目の[1]は残ったままとなります。

特定の要素を全て削除する

配列から指定した要素全てを削除する場合はfilterメソッドを使います。

const array = [1, 3, 4, 1, 8]

const result = array.filter((num) => num != 1)

console.log(result)  // [3, 4, 8]

この場合だと[1]以外の要素をフィルタリングするという感じなので、特定の要素を削除するというよりは、特定の要素以外を取得するというイメージの方が合ってるかもしれないですね。

とはいえ、なんにせよ処理後は特定の要素を全て排除した配列が得られるという結果になります。

タイトルとURLをコピーしました