Edited at

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

More than 1 year has passed since last update.


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