如何重新排列嵌套数组?

时间:2017-08-14 02:56:36

标签: javascript

我有一个数组包含五个嵌套数组,每个数组有15个数字。有没有办法创建一个包含15个5个数字的嵌套数组的新数组,这样第一个数组包含五个数组中每个数组的第一个条目?到目前为止,我有:

var allArrCookie = [];
var allArrCookieByHour = [];
function makeCol() {
    for (var i = 0; i < allArrCookie.length; i++) {
        for (var j = 0; j < allArrCookie[i].length; j++) {
            allArrCookieByHour.push(allArrCookie);
        }
   }

1 个答案:

答案 0 :(得分:2)

这是一个有趣的。它假定数组在任一维度上都不为空。您可以为此案例添加一个检查。

鉴于这看起来像是家庭作业,这个解决方案可以完成工作,但任何老师都会抛弃。

var orig = [
  [101, 102, 103, 104, 105, 106],
  [201, 202, 203, 204, 205, 206],
  [301, 302, 303, 304, 305, 306]
];

var rotated = orig[0].map((_,i) => orig.map(s => s[i]));

/*
output:
[
  [101,201,301],
  [102,202,302],
  [103,203,303],
  [104,204,304],
  [105,205,305],
  [106,206,306]
]
*/