Javascript 如果77>;602?
如果77>602会出现什么问题?我试过IE、Firefox和ChromeJavascript 如果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
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;
}