Alo*_*ler 1 javascript arrays for-loop max
我有这个函数来返回数组的最大值:
Array.prototype.max = function() {
var max = this[0];
var len = this.length;
for (var i = 1; i < len; i++)
{
if (this[i] > max)
{
max = this[i];
}
}
return max;
}
Run Code Online (Sandbox Code Playgroud)
当我使用这个数组时:
var data1Values = ['0','0','0','0','3','0','6','12']
Run Code Online (Sandbox Code Playgroud)
data1Values.max() 返回6而不是12.它以某种方式跳过最后一个值.
我插入alert(this[i])并alert(max)在循环内部,它识别两个值(12为this[i]6和6 max)但它不会进入条件.
这里发生了什么?
你有一个字符串数组,而不是数字.字符串"6"大于字符串"12".
尝试初始化数组而不使用值周围的引号.