簡體   English   中英

將Lodash _.chain()用於條件

[英]Using Lodash _.chain() for Conditionals

我想使用lodash _.chain()作為條件。 這是lodash應該用於的東西嗎?

if(_.chain(123).isNumber()
               .anotherCheck()
               .anotherCheck()
               .value() {
   // do stuff
}

在這種情況下, 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');
  }
}

你可以做這樣的事情

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

暫無
暫無

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

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