関数を通してフィルタする
重要性: 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]のメンバの1つにマッチする要素だけを選び出します
例:
/* .. 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
Filter 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
Filter 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
function inArray(arr) {
return x => arr.includes(x);
}
function inBetween(a, b) {
return x => (x >= a && x <= b);
}