首页 > 解决方案 > 在javascript中将此3d数组转换为2d数组

问题描述

我正在尝试将以下 3D 数组转换为 2D 数组。目前,我的数据具有以下结构。

[ [[0,0,345], [1,0,555], ... [9,0,333]], ... [[0,9,1000], [1,9,987], ... [9,9,129]] ]

进入

[[0,0,345], [1,0,355], ... [9,0,333], [0,1,1000], [1,1,987], ... [9,9,129]]

所以第一个元素包含一个宽度值,第二个是高度值。第三个值是 0 到 1023 之间的随机值。

如您所见,宽度和高度各为 10。我正试图摆脱最外层的数组。

我试图迭代每一行以使用推送反弹到一个新数组,但不断得到不想要的形式。任何帮助将不胜感激!

标签: javascriptarrays

解决方案


可以直接使用Array#flat

const arr = [ [[0,0,345], [1,0,555], [9,0,333]],  [[0,9,1000], [1,9,987], [9,9,129]] ];
const res = arr.flat();
console.log(JSON.stringify(res));


推荐阅读