Javascript 映射二维数组

2024-01-30

我有这个数组:

rows = [ [ 89, 18, 9 ], [ 1903, 3, 4 ], [ 3, 1, 800 ] ];

它应该看起来像这样:

[ [ 89, 1903, 3 ], [ 18, 3, 1 ], [ 9, 4, 800 ] ]

正在运行的代码如下所示:

rows[0].map((_, columnIndex) => rows.map(
            row => row[columnIndex])
        );

这是如何运作的?


我假设您根本不习惯这里使用的特定语言功能,因此您无法理解正在发生的事情,所以这里是:

  • 你的结构是一个嵌套的Array。因此嵌套的Array.maps.

  • Both map回调利用隐式回报 https://stackoverflow.com/a/41602806/1814486.

展开如下:

rows[0].map((row, index) => {
  return rows.map((column) => {
    return column[index]
  })
})

传递给的 2 个参数map回调如下:

  • element:当前迭代的Array元素;在你的第一个map这是row争论。
  • i:当前迭代次数,从0开始;在你的第一个map这是index争论。

这里的所有都是它的。从那时起,您只需跟踪迭代以及每次迭代中每个参数的值即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript 映射二维数组 的相关文章

随机推荐