我想把 const arr = [[10, 22, 33, 14, 25, 56],[11, 12, 31, 24, 15, 26],]变成 const result = [[10, 11],[22, 12],[33, 31],[14, 24],[25, 15],[56, 26]]该怎么做啊
2 回答
暮色呼如
TA贡献1853条经验 获得超9个赞
首先应该自己尝试,就算写的不好,递归 for 循环一堆,甚至写不出来,也比不尝试好,至少有个思路
var data = [[10, 22, 33], [11, 12, 31, 24, 15, 26], [10, 22, 33]]
var res = Array(Math.max(...data.map(arr => arr.length)))
.fill()
.map((val, index) => [data.map(v => v[index])])
console.log(res)
这题的思路:
res
的长度由data
中最长的确定,所以Math.max(...data.map(arr => arr.length))
res
的项需要,依次,把data
中的项添加进去,所以(val, index) => [data.map(v => v[index])]
前后用
fill()
填充数组,这样才可以适用 ES5 的map
方法
添加回答
举报
0/150
提交
取消