返回課程

使用函式進行篩選

重要性: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

在沙盒中使用測試開啟解決方案。