2016-12-02 3 views

ответ

2

вы можете сделать Somthing как

_.chain(123) 
    .thru(function(num) { 
     return _.every([ // or _.some for any item 
      _.isNumber(num), 
      _.anotherCheck(num), 
      _.anotherCheck(num) 
     ]); 
    }) 
    .value(); 
+0

Это похоже на то, что мне нужно. Приветствия. – etoxin

+0

Это замечательно! '_.chain (123) .thru (function (num) {return _.every ([_. isNumber (num), _. lt (num, 200), _. gt (num, 100)]);}) .value(); ' – etoxin

2

chain не имеет смысла в данном случае, потому что isNumber собирается вернуть boolean. Таким образом, anotherCheck не получит номер, а результат isNumber.

Один из способов использовать lodash что-то вроде этого является использование _.every, например:

function testNumber(num) { 
    return _.every([_.isNumber(num), num > 100, num % 2 === 0]); 
} 

function testNumberResult(num) { 
    var canUse = testNumber(num); 
    if (canUse) { 
    console.log(num, 'num is a number greater than 100 and even'); 
    } else { 
    console.log(num, 'num did not pass tests'); 
    } 
} 
+0

ли даже не думать о '_.isNumber()' возвращая bool. – etoxin

Смежные вопросы