javascriptの配列初期化におけるナゾ
javascriptで以下の操作で2次元配列を生成すると、値の更新を行う際に列ごと更新がかかる。
let cost_array = (new Array(3)).fill((new Array(3)).fill(999)) cost_array[1][1] = 3
生成した配列に対して、mapで2次元配列を作ってあげると、単一の要素が更新されていく。
let cost_array = (new Array(N)).fill(null).map(x => (new Array(N)).fill(999)) cost_array[1][1] = 3