一维数组转二维数组javascript

发布于 2024-11-04 09:31:09 字数 349 浏览 3 评论 0原文

首先我有一个像这样的数组:

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]

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

First I have an array like:

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

I can 'flatten' it using

arr = Array.prototype.concat.apply([],arr)

or using a for-next loop and push.apply

Then I got:

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

How do I get it back to its original format as easy as possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

星星的軌跡 2024-11-11 09:31:09
var newArr = [];
while(arr.length){
    newArr.push(arr.splice(0,4));
}
var newArr = [];
while(arr.length){
    newArr.push(arr.splice(0,4));
}
沙沙粒小 2024-11-11 09:31:09

也许是这样的:

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

Something like this, perhaps:

var old = [];
for (var index = 0; index < arr.length; index+= 4)
    old.push( arr.slice(index, index + 4) );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文