JavaScriptのincludes()とsplice()を使って配列から要素を削除する方法
includes()は配列に特定の要素が含まれているかどうかを判定するメソッドであり、splice()は配列への要素の追加や削除を行うメソッドです。この2つを組み合わせることで、配列から指定した複数の要素をまとめて取り除くことができます。以下がそのコード例です。
サンプルコード
deleteElementsFromArray = function(elements, ...values) {
let elementRemoved = Array.from(values);
for (var index = 0; index < elements.length; index++){
if (elementRemoved.includes(elements[index])){
elements.splice(index, 1);
index--;
}
}
return elements;
}
console.log(deleteElementsFromArray([80,90,56,34,79], 90, 34,79));
コードの解説
この関数では、まず可変長引数(...values)として受け取った削除したい値を、Array.from()を使って配列に変換しています。次に、元の配列をループで先頭から順に走査し、各要素が削除対象の配列に含まれているかどうかをincludes()で判定します。含まれている場合はsplice(index, 1)でその位置から1つの要素を削除し、さらにindex--でインデックスを1つ戻すことで、削除対象の要素が連続していた場合でも取りこぼしなく処理できるようになっています。
上記のプログラムを実行するには、以下のコマンドを使用します。
node fileName.js
ここでは、ファイル名を「demo69.js」として保存しています。
実行結果
このコードを実行すると、以下のような出力が得られます。
PS C:\Users\Amit\JavaScript-code> node demo69.js [ 80, 56 ]
実行結果を見ると、削除対象として指定した「90」「34」「79」が配列から取り除かれ、「80」と「56」だけが残っていることが確認できます。このように、includes()による存在チェックとsplice()による削除を組み合わせれば、任意の複数の値を柔軟に配列から除外できます。
-
JavaScriptでリンクリストから要素を削除する方法
リンクリストから要素を削除する基本の考え方 リンクリスト(連結リスト)から要素を削除する処理は非常にシンプルです。削除したいノードへの参照を失う(参照を切り離す)だけで実現できます。ただし、削除する位置によって処理が異なるため、次の3つのケースを考慮する必要があります。 ケース1:先頭(ヘッド)から削除する場合 先頭の要素を削除する場合は、head = head.next と代入するだけでOKです。これにより最初のノードへの参照が失われ、headは2番目のノードを指すようになります。 ケース2:末尾(テール)から削除する場合 末尾の要素を削除する場合は、最後から2番目のノードの node.ne
-
JavaScriptのsplice()メソッドで配列から要素を削除する方法【コード例付き】
JavaScriptのsplice()メソッドを使うと、配列から指定した位置の要素を簡単に削除できます。このメソッドは元の配列を直接変更する点が特徴です。 splice()メソッドの基本構文 arr.splice(start, deleteCount) start: 削除を開始するインデックス位置(0から始まります) deleteCount: 削除する要素の数。省略すると、開始位置から配列の末尾までがすべて削除されます 以下は、splice()メソッドを使用して配列の1番目から5番目の間の要素(インデックス1〜4)を削除するサンプルコードです。 コード例 <!DOCTYPE html