适当的lodash方法

时间:2015-05-15 01:01:42

标签: javascript lodash

我有一个反对的名为slip,此对象包含一个属性active,其中attr为'1',当未选择slip对象时,属性为{{1}有一个attr active

我有一个函数,只有当属性'0'具有attr active时才需要应用。我想知道在这种情况下哪个是最好的Lodash方法

'0'

var applyStraightWin = function(slip, amount) { var moneyLine = _.result(_.find(slip.lines, {isSelected: '1'}), 'moneyLine'); _.filter(slip.active, function(pickActive) { if (pickActive == '1') { _.assign(slip, { win: amount, risk: RiskWinCalculations.calculateStraightBet(amount, parseFloat(moneyLine, 10), false), riskSelected: false, winSelected: true }); } }); } 方法是我想要的,取出_.filter。但是,从背景来看,是否有比slip.active != 0方法更好用的东西?

1 个答案:

答案 0 :(得分:2)

  

[...]有比_.filter方法

更好用的东西

绝对:不使用它会好得多。

var moneyLine = _.result(_.find(slip.lines, {isSelected: '1'}), 'moneyLine');
if (slip.active == '1') {
   _.assign(slip, {
     win: amount,
     risk: RiskWinCalculations.calculateStraightBet(amount, parseFloat(moneyLine, 10), false),
     riskSelected: false,
     winSelected: true
   });
}

_.filter的目的是选择集合的子集。如果要测试属性是否具有特定值,则使用它不是正确的函数。