2011-10-04 84 views
0

我似乎有正確的語法,但我始終得到一個NaN值,我相信它與數組的傳播有關,請您可以檢查代碼並查看哪裏我錯了。比較Javascript數組中的數字以獲得最大數字

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/

+1

請注意,您的變量'_array'是_not_數字數組,它是一個數組因爲當你說'_array [_first] = [_data];'(除非在你的問題中這只是一個錯字)你在'_data'周圍有方括號。 – nnnnnn

+0

感謝你提到我意識到並刪除它! – Xavier

回答

2

所以,我修改了一點,看看 - http://jsfiddle.net/LTMbr/4/和你_array [0]是不確定的。所以這就是爲什麼您撥打Math.max正在返回NaN。

+0

感謝哥們,現在有道理 – Xavier

+0

是的,如果你將_first設置爲0,它就可以工作。 – itsmatt