1. 程式人生 > >Typescript | 關於二維陣列初始化的誤區

Typescript | 關於二維陣列初始化的誤區

假如要初始化一個4x4的二維陣列,裡面16個元素都為0

錯誤示範:

let arr = new Array<Array<any>>()
let cols = [0, 0, 0, 0]
for (let raw = 0; raw < 4; raw++){
  arr[raw].push(cols)
}

正確示範:

  let arr = new Array<Array<any>>()
  for (let raw = 0; raw < 4; raw++) {
    arr.push([])
    for (let col = 0; col < 4; col++) {
      arr[raw][col] = 0
    }
  }

這兩個有什麼不同?

想知道答案,請把這兩個程式碼中的any都改為number你就知道了