我想將一個數組拆分爲一組值,並從頭開始,並將其作爲一個remander數組。這是一個目標的例子:每X個值有效地分解一個數組?
arr = [0,1,2,3,4,5,6,7,8,9,10,11]
interval = 5
#chop
output = [[0,1],[2,3,4,5,6],[7,8,9,10,11]]
什麼是最有效的方法呢?
感謝您的幫助?
我想將一個數組拆分爲一組值,並從頭開始,並將其作爲一個remander數組。這是一個目標的例子:每X個值有效地分解一個數組?
arr = [0,1,2,3,4,5,6,7,8,9,10,11]
interval = 5
#chop
output = [[0,1],[2,3,4,5,6],[7,8,9,10,11]]
什麼是最有效的方法呢?
感謝您的幫助?
var arr = [0,1,2,3,4,5,6,7,8,9,10,11],
interval = 5,
output = [];
while (arr.length >= interval) {
output.unshift(arr.splice(-interval, interval));
}
output.unshift(arr);
console.log(output);
+1,雖然修改原始數組是不必要的工作(並且對於我們所知的所有情況,由於其他原因而不可取)。請注意,推斷第二個參數就是SpiderMonkey擴展(不是標準),爲了兼容性,您需要'splice(-interval,interval)'。 – 2013-05-04 08:08:40
而你似乎在做太多的檢查 - http://jsfiddle.net/tVvJP/ – Ian 2013-05-04 08:12:22
@ T.J.Crowder如上所述添加了'.splice()'的長度部分。併爲原始數組。你是對的,但也許在分手後不再需要,所以也許這可以解決。 – Andreas 2013-05-04 08:17:32
反向。片。推。相反。
看看「Array.slice」 – Ian 2013-05-04 07:49:53
@Ian好吧,謝謝你的信息。 – boom 2013-05-04 07:52:32
[將數組拆分成塊]可能的重複(http://stackoverflow.com/questions/8495687/split-array-into-chunks) – Mogsdad 2015-12-07 15:42:53