Javascript 如果77>;602?

Javascript 如果77>;602?,javascript,arrays,json,Javascript,Arrays,Json,如果77>602会出现什么问题?我试过IE、Firefox和Chrome function getMaxValue(data){ var maxValue=0; for(var i=0;i<data.length;i++){ if(data[i].value>maxValue){ console.log(data[i].value +">"+maxValue); maxValue=data[i

如果77>602会出现什么问题?我试过IE、Firefox和Chrome

function getMaxValue(data){
    var maxValue=0;
    for(var i=0;i<data.length;i++){

        if(data[i].value>maxValue){
             console.log(data[i].value +">"+maxValue);
             maxValue=data[i].value;
         }
     }
console.log("MaxValue:"+maxValue);
return maxValue;


}

需要为StackOverflow添加一些无用的描述。请帮帮我。json文件有点大,只是一个例子。

您需要使用parseInt(value,10)将值从字符串转换为数字。

字符串按字母顺序进行比较,即使它们包含数字。字符
'7'
按字母顺序排在字符
'6'
之后,因此就字符串而言,
“77”>“602”

解决方法是首先将它们转换为数字:

    if(parseFloat(data[i].value) > maxValue){
或者为了简洁起见,一元
+
运算符也将执行以下操作:

    if(+data[i].value > maxValue){

您当前正在比较一个整数和一个字符串,这在这种情况下不可靠

更改JSON并取消引用值,或者改用以下代码:

function getMaxValue(data){
    var maxValue=0;
    for(var i=0;i<data.length;i++){

        if(parseInt(data[i].value) > maxValue) {
             console.log(data[i].value +">"+maxValue);
             maxValue=data[i].value;
         }
    }
    console.log("MaxValue:"+maxValue);
    return maxValue;
}
函数getMaxValue(数据){ var maxValue=0; 对于(变量i=0;i最大值){ console.log(数据[i].value+“>”+maxValue); maxValue=数据[i]。值; } } console.log(“MaxValue:+MaxValue”); 返回最大值; }
也请阅读以供参考。

您是在比较整数还是字符串?如果(parseInt(data[i].value)>maxValue){。。。
function getMaxValue(data){
    var maxValue=0;
    for(var i=0;i<data.length;i++){

        if(parseInt(data[i].value) > maxValue) {
             console.log(data[i].value +">"+maxValue);
             maxValue=data[i].value;
         }
    }
    console.log("MaxValue:"+maxValue);
    return maxValue;
}