让我们看一个简单的例子,我有一个张量[1,2]
。 1
的位置是[0]
,2
的位置是[1]
。我想将此1d张量转换为2d,其中
1
从[0]
变为[0, 0]
2
从[1]
变为[1, 1]
使新的张量看起来像这样:[
[1, 0],
[0, 2],
]
有没有一种方法?
答案 0 :(得分:1)
假设您需要将商品列表转换为square diagonal matrix,则可以使用2个嵌套的Array.prototype.map()
来构建 2d结构:
const arr = [1,2,3,4,5],
listToMatrix = a =>
a.map((_,i) =>
a.map((e, j) =>
i == j ? e : 0))
console.log(listToMatrix(arr))
.as-console-wrapper{min-height:100%;}