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() メソッドの機能を利用することで、 配列から特定条件の要素を削除することができます。