関数によるフィルタリング
重要性: 5
配列に対して、arr.filter(f)
という組み込みメソッドがあります。これは、すべての要素を関数f
でフィルタリングします。true
が返されると、その要素は結果の配列に返されます。
「すぐに使える」フィルタのセットを作ります
inBetween(a, b)
–a
とb
の間にあり、それらと等しくなるか、それらのどちらかに等しい(包括的)。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