Javascript 为什么我的JS for if循环以错误的结果结束?
我有一个-实际上-安静简单的if循环设置。但不管出于什么原因,它最终都会得到错误的结果。我试图用几十个console.log进行调试,但找不到bug 循环:Javascript 为什么我的JS for if循环以错误的结果结束?,javascript,Javascript,我有一个-实际上-安静简单的if循环设置。但不管出于什么原因,它最终都会得到错误的结果。我试图用几十个console.log进行调试,但找不到bug 循环: var bestTrade = 0 for (var i = 0; i < tradesTotal; i++) { orderProfit = trades[i].fields.orderProfit orderType = trades[i].fields.orderType console.log('o
var bestTrade = 0
for (var i = 0; i < tradesTotal; i++) {
orderProfit = trades[i].fields.orderProfit
orderType = trades[i].fields.orderType
console.log('orderProfit: ' + orderProfit + ' OrderType ' + orderType + 'latest bestTrade ' + bestTrade)
if (orderProfit > 0 && orderProfit > bestTrade && orderType !== 6) {
bestTrade = orderProfit
} else {}
}
console.log(bestTrade)
var bestTrade=0
对于(var i=0;i0&&orderProfit>bestTrade&&orderType!==6){
最佳交易=订单利润
}else{}
}
控制台日志(bestTrade)
循环迭代包含27个对象的JSON文件。每个对象都包含交易[i]。字段。orderProfit
,我想将最大利润分配给变量bestTrade
。此外,不应包括包含orderType=6
的对象。Console.log输出清楚地显示了正确的迭代次数和正确的利润/订单类型,但结果是错误的,应该是
5567.09
,而不是810.92
:
尝试将
订单利润
转换为编号
。从结果看,orderProfit似乎是字符串<代码>'810.92'>'5567.09'返回true
var bestTrade = 0
for (var i = 0; i < tradesTotal; i++) {
orderProfit = Number( trades[i].fields.orderProfit );
orderType = trades[i].fields.orderType
console.log('orderProfit: ' + orderProfit + ' OrderType ' + orderType + 'latest bestTrade ' + bestTrade)
if (orderProfit > 0 && orderProfit > bestTrade && orderType !== 6) {
bestTrade = orderProfit
} else {}
}
console.log(bestTrade)
var bestTrade=0
对于(var i=0;i0&&orderProfit>bestTrade&&orderType!==6){
最佳交易=订单利润
}else{}
}
控制台日志(bestTrade)