我有一个反对的名为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
方法更好用的东西?
答案 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
的目的是选择集合的子集。如果要测试属性是否具有特定值,则使用它不是正确的函数。