[英]Uncaught TypeError: Cannot set property '0' of undefined on 2D array (JavaScript)
[英]Transpose a 2D array - Cannot set property '0' of undefined
我在打字稿中有一個代碼可以轉置M x N矩陣:
private transpose(a: number[][]): number[][] {
let m: number = a.length;
let n: number = a[0].length;
let b: number[][] = [[]]; // Tried without "[[]]"
for (let i: number = 0; i < m; i++) {
for (let j: number = 0; j < n; j++) {
b[j][i] = a[i][j]; // Error
}
}
return b;
}
但是,我有一個錯誤:
Uncaught (in promise): TypeError: Cannot set property '0' of undefined
如何正確初始化2D數組?
PS已經嘗試了for..in
但仍然有問題
有任何想法嗎?
它應該是:
let b: number[][] = [];
for (let i: number = 0; i < m; i++) {
b[i] = [];
for (let j: number = 0; j < n; j++) {
b[i][j] = a[j][i];
}
}
首先創建一個數組,然后為i
每次迭代創建另一個內部數組
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.