我是javascript新品。餘物通過問題工作較早地方,我需要的陣列,其中包括數字1直通20.帶數字的數組1-20
我用下面這樣做:
var numberArray = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
問題:
我可以沒有幫助,但認爲這不是有效的(當然不可擴展)。有沒有辦法創建一個數組,自動填充1至20,或1和1000之間的連續值?
我是javascript新品。餘物通過問題工作較早地方,我需要的陣列,其中包括數字1直通20.帶數字的數組1-20
我用下面這樣做:
var numberArray = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
問題:
我可以沒有幫助,但認爲這不是有效的(當然不可擴展)。有沒有辦法創建一個數組,自動填充1至20,或1和1000之間的連續值?
你可以使用一個簡單的循環來做你想做的事情;
var numberArray = [];
for(var i = 1; i <= 20; i++){
numberArray.push(i);
}
console.log(numberArray);
這裏的一個oneliner:
var myArr = Array(20).join().split(',').map(function(a){return this.i++},{i:1});
或一點點較短:
var myArr = (''+Array(20)).split(',').map(function(){return this[0]++;}, [1]);
這兩種方法創建一個空Array
用20空元素(具有值undefined
即元素)。在如此產生的Array
方法map
不能應用於,所以join
(或字符串添加)和split
特技其轉換到Array
,知道它。現在map
回調(見MDN鏈路)什麼也不做比發送初始值({i:1}
或[1]
)的增量背面爲Array
的每個元素更多,並且在這之後,myArr
含有1至20
Array.map
=>See also...
爲什麼不使用for循環而不是數組? –
你可以做一個for循環,但你可以使用一個for循環...你想做什麼? – Sergio
是的,但結果聽起來不太有用。 – 2013-10-12 17:46:58