JavaScript
js
TypeScript
ECMAScript
ECMAScript6

Javascriptで指定した配列の要素を削除する

Javascriptで指定した配列の要素を削除する

Javascriptで指定した配列の要素を削除する。
なお、本記事は[Javascript] 配列から特定の要素を削除する(訂正有り) - Qiitaを大変参考にさせていただいた。

ポイント(以下は、ES6以降ではあんまり推奨されないので、追記を参照。)

1. array.forEachで、配列の各要素とindexの数字を各処理で使用する

=> 参考 :Array.prototype.forEach() - JavaScript | MDN
2. 配列の要素が、指定した値(今回は1)だったら、3の処理を行う
3. array.spliceでindex番目から1個分の要素を削除する

=> 参考 :Array.prototype.splice() - JavaScript | MDN

コード

0~4の配列から1を指定し、削除する。

const array = [0, 1, 2, 3, 4];

console.log(`before : array = ${array}`);

array.forEach((item, index) => {
    if(item === 1) {
        array.splice(index, 1);
    }
});

console.log(`after : array = ${array}`);

実行結果

before : array = 0,1,2,3,4
after : array = 0,2,3,4

追記

ES6ならfilterで新しいarrayを生成した方が良いとのコメントでご指摘いただきました。
ありがとうございます。
以後はこちらを使用させていただきます。

const array = [0, 1, 2, 3, 4];
console.log(`before: array = ${array}`);

const newArray = array.filter(n => n !== 1);

console.log(`after: array = ${newArray}`);

追記の実行結果

before : array = 0,1,2,3,4
after : array = 0,2,3,4

参考にさせていただいたサイト

[Javascript] 配列から特定の要素を削除する(訂正有り) - Qiita
Array.prototype.forEach() - JavaScript | MDN
Array.prototype.splice() - JavaScript | MDN