使用函式進行篩選
重要性: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