Javascript 为什么我的JS for if循环以错误的结果结束?

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

我有一个-实际上-安静简单的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('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)