每X个值有效地破坏一个数组?

时间:2013-05-04 07:47:14

标签: javascript arrays coffeescript

我想将数组拆分为一组从末尾开始并将开头作为remander数组的值。以下是目标的示例:

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]]

最有效的方法是什么?

感谢您的帮助?

3 个答案:

答案 0 :(得分:3)

不能代表CoffeeScript,但在JavaScript中我认为没有任何具体的功能,你只需要一个slice次调用循环。要么使用负索引向后循环(这意味着“从末尾”),要么只在第一遍传递第一个src.length % interval项。

答案 1 :(得分:2)

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);

答案 2 :(得分:-1)

逆向。切片。推。逆转。