簡體   English   中英

如何將布爾函數數組合並為單個布爾函數?

[英]How to combine array of boolean functions into a single boolean function?

我有許多可變長度的函數數組,其中數組中的每個函數都采用相同類型的單個參數並返回true或false。

如何將這些函數“組合”成一個函數,以測試每個組件函數是否返回true?

var less_than = function(y) {
    function(x) {
    return x < y;
  }
}

var greater_than = function(y) {
    function(x) {
    return x > y;
  }
}

var is_even = function(x) {
    return x % 2 == 0;
}

var fns = [less_than(10), greater_than(1), is_even];

var test_function = combine_tests(fns);
test_function(8) // => true

every()方法測試數組中的所有元素是否通過提供的函數實現的測試。

var functions = [f1, f2, f3];
var arg = "foo";
var result = functions.every(function(func){
    return func(arg);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM