JavaScript - 配列から特定条件の要素を削除する filter()
JavaScript で配列から特定条件の要素を削除する場合は、 filter() メソッドを使うと簡単に実現できます。
filter() メソッドは、テストに合格した要素から成る、 新しい配列を作成するメソッドです。。
ここでは、filter() を使った要素削除の方法を紹介します。
filter() メソッドの概要
filter() メソッドは、配列の各要素に対して、引数として与えられたテスト関数を実行します。
そして、テストに合格した要素から成る、新しい配列を生成します。
サンプルコード
次のコードは、3以上の要素から成る、新しい配列を作成します。
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.filter(function(x){return x >= 3;});
console.log(arr2); // Array [ 3, 4, 5 ]
関数部分を別に定義して、次のように記述することもできます。
function isBig3(x){
return x >= 3;
}
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.filter(isBig3);
console.log(arr2); // Array [ 3, 4, 5 ]
filter() で配列から特定条件の要素を削除する
filter() の機能を利用して、特定条件の要素を「削除」することができます。値が「3」の要素を削除する
値が「3」の要素を削除するのは、値が「3」以外の要素を抽出するのと同じです。
ですから、filter() を使うと次のようなコードになります。
var arr = [1, 2, 3, 4, 5];
var arr = arr.filter(function(x){return x != 3});
console.log(arr); // Array [ 1, 2, 4, 5 ]
値が「4」以上の要素を削除する
値が「4」以上の要素を削除するのは、値が「4」より小さい要素を抽出するのと同じです。
ですから、filter() を使うと次のようなコードになります。
var arr = [1, 2, 3, 4, 5];
var arr = arr.filter(function(x){return x < 4});
console.log(arr); // Array [ 1, 2, 3 ]
このように、filter() メソッドの機能を利用することで、 配列から特定条件の要素を削除することができます。