JavaScript で値によって配列からアイテムを削除する
このチュートリアルでは、JavaScript の splice()
および filter()
関数を使用して、値によって配列からアイテムを削除する方法について説明します。
JavaScript の splice()
関数を使用して、値によって配列からアイテムを削除する
配列から値で項目を削除するには、JavaScript の splice()
関数を使用できます。splice()
関数は、インデックスを使用して配列にアイテムを追加または配列から削除します。値によって特定の配列から項目を削除するには、indexOf()
関数を使用してその値のインデックスを取得してから、splice()
関数を使用してそのインデックスを使用して配列から値を削除する必要があります。たとえば、splice()
および indexOf()
関数を使用して、3つの文字列値を持つ配列を作成し、1つの文字列値を削除してみましょう。以下のコードを参照してください。
var myArray = ['one', 'two', 'three'];
var myIndex = myArray.indexOf('two');
if (myIndex !== -1) {
myArray.splice(myIndex, 1);
}
console.log(myArray)
出力:
["one", "three"]
上記のコードでは、if
ステートメントを使用して、値が配列に存在するかどうかを確認しています。値が存在する場合、そのインデックスは-1 にはなりません。それ以外の場合は-1 になります。indexOf()
関数は、指定された値のインデックスを返します。配列に存在しない場合、関数は-1 を返します。値が配列に存在する場合、splice()
関数を使用して、myIndex
に存在する 1つの値を削除します。splice()
関数で 2 番目の引数として定義することにより、配列から複数の値を削除することもできます。console.log()
関数は、アイテムがコンソールの配列から削除された後、新しい配列を表示します。
JavaScript の filter()
関数を使用して、値によって配列からアイテムを削除する
配列から値で項目を削除するには、JavaScript の filter()
関数を使用できます。filter()
関数は、配列の各値に filter()
関数内で定義された関数を適用することにより、特定の配列から値をフィルター処理するために使用されます。この場合、filter()
関数内に関数を定義します。この関数は、配列から削除する値を受け入れるためにすべての値を返し、結果は新しい配列に格納されます。たとえば、3つの文字列値を持つ配列を作成し、filter()
関数を使用して、削除する値を除く最初の配列のすべての値を持つ別の配列を作成します。このようにして、元の配列は変更されません。以下のコードを参照してください。
var myArray = ['one', 'two', 'three'];
var newArray = myArray.filter(function(f) {
return f !== 'two'
})
console.log(newArray)
出力:
["one", "three"]
上記のコードでは、配列から値 two
を削除し、結果を変数 newArray
に保存しました。これはコンソールに表示されます。