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