【发布时间】:2022-12-07 06:35:05
【问题描述】:
我有一个这样的数组:
arr1 [
[
' ', '[H] ',
' '
],
[
'[W] ', '[B] ',
' '
],
[
'[S] ', ' ',
'[M]'
]
]
如何让arr1的每个元素的0个元素被压入arr2的0个元素,arr1的1个元素压入arr2的1个元素等等,就像这样
arr2 [
[
' ', '[W] ',
'[S] '
],
[
'[H] ', '[B] ',
' '
],
[
' ', ' ',
'[M]'
]
]
这个方法
let arr2 = []
for (let i = 0; i< arr1.length; i++) {
for (let j of arr1[i]) {
arr2[i].push(j[i])
//or arr2[i].push(j)
}
}
抛出错误
arr2[i].push(j[i]) //or arr2[i].push(j) the same error
^
TypeError: Cannot read properties of undefined (reading 'push')
【问题讨论】:
-
您必须在访问/推送之前初始化插槽。尝试在推送操作之前添加它
if(!arr2[i]) arr2[i] = []
标签: javascript arrays