前提
canvasを使ってJavascriptで描画しようとしています。
二次元配列に値を代入しようとしているのですが思うように代入できません。
実現したいこと
二次元配列への値の代入
発生している問題・エラーメッセージ
一箇所のみ1を代入しているはずなのに確認でコンソールに値を出力すると、ランダムで選ばれた列の全ての値が1に変わってしまいます。
(エラーメッセージはありません)
該当のソースコード
JavaScript
1// 関係ないコードは省略しています 2const n = 20; 3let B = new Array(n+2); 4let zero = new Array(n+2); 5 6setup(); 7 8function setup(){ 9 // (n+2)x(n+2)の二次元配列をつくる 10 for(let i=0; i<n+2; i+=1){ 11 zero[i] = 0.0; 12 } 13 for(let i=0; i<n+2; i+=1){ 14 B[i] = zero; 15 } 16 17 // 初期化(ランダムに選んだ一箇所のみ値を1にする) 18 let rand_x = Math.trunc( (Math.random()*(n-10)) + 5 ); 19 let rand_y = Math.trunc( (Math.random()*(n-10)) + 5 ); 20 21 B[rand_x][rand_y] = 1.0; 22 23 // 確認 24 for(let i=0; i<n+2; i+=1){ 25 for(let j=0; j<n+2; j+=1){ 26 console.log(B[j][i]); 27 } 28 } 29}
試したこと
変数の宣言の仕方とか、値の代入の仕方とかもう一度調べ直しましたが問題はそこではなさそうです。
わかる方ご教授ください。よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/01/05 16:41