一维到二维数组javascript

时间:2011-05-03 10:59:45

标签: javascript arrays multidimensional-array format

首先我有一个类似的数组:

arr = [[r,g,b,a],[r,g,b,a],[r,g,b,a],[r,g,b,a],[r,g,b,a],[r,g,b,a]]

我可以使用

'压扁'它
arr = Array.prototype.concat.apply([],arr)

或使用for-next循环和push.apply

然后我得到了:

[r,g,b,a,r,g,b,a,r,g,b,a,r,g,b,a,r,g,b,a]

如何尽可能简单地将其恢复为原始格式?

2 个答案:

答案 0 :(得分:2)

var newArr = [];
while(arr.length){
    newArr.push(arr.splice(0,4));
}

答案 1 :(得分:1)

这样的事情,也许是:

var old = [];
for (var index = 0; index < arr.length; index+= 4)
    old.push( arr.slice(index, index + 4) );