比较Javascript数组中的数字以获得最大数字

时间:2011-10-04 13:28:19

标签: javascript

我似乎有正确的语法,但我一直得到一个NaN值,我相信它与数组的传播有关,请你查一下代码,看看我哪里出错了。

var _array = new Array();

var _first = 1;
var _second = 4;

$('#con > div').each(function(index){

    var _data = $(this).css('left').split('px')[0];
    var _class = $(this).attr('class').split(' ')[0];

    _array[_first] = [_data];
    //_array[_second] = _class;

    _first++;
    _second++;

    if(index == 2){
        _first = 1;
        _second = 4;

        for(var i = 0; i < _array.length; i++)
        console.log(_array[i]);

        var large = Math.max.apply(Math, _array);
        console.log(large);

    }
});

由于

http://jsfiddle.net/LTMbr/1/

2 个答案:

答案 0 :(得分:2)

所以,我稍微修改了一下 - http://jsfiddle.net/LTMbr/4/并且你的_array [0]未定义。这就是为什么你对Math.max的回复正在返回NaN。

答案 1 :(得分:2)

问题是您从索引1开始填充数组。If any of the arguments to Math.max cannot be converted to a number, NaN is returned
这是因为_array[0]未定义