我的问题与这个问题密切相关,但我正在寻找Javascript的解决方案
基本上我有一个2D方阵
1 2 3
4 5 6
7 8 9
Run Code Online (Sandbox Code Playgroud)
存储如下
let anArray = [1 ,2, 3, 4, 5, 6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)
如何转置此矩阵,以便我的源数组的元素切换如下?
let newArray = [1, 4, 7, 2, 5, 8, 3, 6, 9]
Run Code Online (Sandbox Code Playgroud)
您可以获取数组维度的长度,并将项目映射到新数组的特定索引上。
var array = [1 ,2, 3, 4, 5, 6, 7, 8, 9],
n = Math.sqrt(array.length),
transposed = array.map((_, i, a) => a[(i % n) * n + Math.floor(i / n)]);
console.log(transposed.join(' '));Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
246 次 |
| 最近记录: |