レッスンに戻る

関数によるフィルタリング

重要性: 5

配列に対して、arr.filter(f)という組み込みメソッドがあります。これは、すべての要素を関数fでフィルタリングします。trueが返されると、その要素は結果の配列に返されます。

「すぐに使える」フィルタのセットを作ります

  • inBetween(a, b)abの間にあり、それらと等しくなるか、それらのどちらかに等しい(包括的)。
  • inArray([...]) – 与えられた配列内。

次は使用法です

  • arr.filter(inBetween(3,6)) – 3から6までの値のみを選択します。
  • arr.filter(inArray([1,2,3]))[1,2,3]のメンバーのいずれかに一致する要素のみを選択します。

例えば

/* .. your code for inBetween and inArray */
let arr = [1, 2, 3, 4, 5, 6, 7];

alert( arr.filter(inBetween(3, 6)) ); // 3,4,5,6

alert( arr.filter(inArray([1, 2, 10])) ); // 1,2

テストでサンドボックスを開きます。

InBetweenフィルタ

function inBetween(a, b) {
  return function(x) {
    return x >= a && x <= b;
  };
}

let arr = [1, 2, 3, 4, 5, 6, 7];
alert( arr.filter(inBetween(3, 6)) ); // 3,4,5,6

InArrayフィルタ

function inArray(arr) {
  return function(x) {
    return arr.includes(x);
  };
}

let arr = [1, 2, 3, 4, 5, 6, 7];
alert( arr.filter(inArray([1, 2, 10])) ); // 1,2

サンドボックスでテスト付き解決策を開きます。