2016-03-20 36 views
-4

我想做一個函數,在一定範圍內生成一個數字數組。 一個非常基本的問題,但我無法找到一個解釋...... 我想這如何製作一個數組的函數?

var newArray = []; 
 
function makeArrey(start, last) { 
 
\t var length = last - start; 
 
\t for(var i = 0; i <= length; i++) { 
 
\t \t newArray[i] = start + i; 
 
\t } 
 
\t return newArray; 
 
} 
 
makeArrey(1, 100); 
 
alert(newArray[4]); //4 is a random number to see if it works, it dont work

+2

什麼不起作用?問題是什麼? – Pointy

+0

你對代碼的期望是什麼? –

+0

您是否想要生成一個函數來生成一定範圍內的數字數組? – 4castle

回答

0

你的代碼工作完全正常。你只是忘記數組是從索引0開始的。所以當你做一些像newArray[4]這樣的事情時,它會返回數組的第5個元素,就你的情況而言,它是5

爲了使其更好的表現修理你的代碼的緣故,這樣做:

function makeArray(start, last) { 
    var range = []; 
    var length = last - start; 
    for(var i = 0; i <= length; i++) { 
     range[i] = start + i; 
    } 
    return range; 
} 

var newArray = makeArray(1, 100); 
相關問題