为了账号安全,请及时绑定邮箱和手机立即绑定

二维数组竖向排列问题?

二维数组竖向排列问题?

qq_遁去的一_1 2019-03-13 14:15:25
我想把 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)

这题的思路:

  1. res 的长度由data中最长的确定,所以Math.max(...data.map(arr => arr.length))

  2. res 的项需要,依次,把data中的项添加进去,所以 (val, index) => [data.map(v => v[index])]

  3. 前后用fill()填充数组,这样才可以适用 ES5 的 map 方法


查看完整回答
反对 回复 2019-03-28
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

先拍平,再两两分组呗。


查看完整回答
反对 回复 2019-03-28
  • 2 回答
  • 0 关注
  • 675 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信