![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
javascript初心者です。
オセロを作ろうとしていますが、javascriptには二次元配列がないらしくて困っています
const FieldWidth = FieldHeight = 8 ;
const Field = [FieldHeight , FieldWidth] ;
const CellType = ["□","●","○"] ; //空、黒、白石
for( let y = 0 ; y < FieldHeight ; y++){
for( let x = 0 ; x < FieldWidth ; x++){
Field[ y , x ] = CellType[0];
}
}
VBやCでは、これでオッケーなのですが、javascriptではどう記述すればよいですか?
できればループで書きたいので、下記のようにすべての値を手入力するのは避けたいです。
const Field = [
[0,0,0,0,0,0,0,0],
//以下略
];
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは
>javascriptには二次元配列がないらしくて困っています
javascriptの変数はオブジェクトや関数(もオブジェクトでが)を格納できますので、一次元配列の各要素に配列を格納すれば二次元化できます。また、これを繰り返せば多次元配列も可能になります。
あるいは、添え字を読み替えることで、一次元配列に読み替え得t格納する工夫もできるでしょう。
二次元の添え字をi、jとして、実際に記憶する一次元配列の添え字をnとするなら
n = i * jMax + j (uMaxは添字jの最大値+1)
などの方法で対応することも可能でしょう。
(これも概念として、多次元化が可能です)
変換関数(fn)を作成しておけば、
array.getValue = function(i, j){ return array[fn(i, j)]; }
みたいなイメージで使用することもできるかと。
さて、
>const Field = [
>[0,0,0,0,0,0,0,0],
>//以下略
>];
>Field[][]ですね。
ということを理解なさっているのなら、構造的にどうなっているのかわかるでしょうから、、単純にループさせれば良いだけだと思いますけれど?
let Field = [];
for(i=0; i<FieldHeight; i++){
Field[i] = [];
for(j=0; j<FieldWidth; j++){
Field[i][j] = CellType[0];
}
}
単に、同じ初期値(文字列)を代入するだけなら、
let Field = [];
for(i=0; i<FieldHeight; i++){
Field[i] = CellType[0].repeat(FieldWidth).split("");
}
でも宜しいかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript ソースコードは下の共有コードサイト「張り紙」にあります。 入力フォームの javascript で 1 2022/05/11 11:01
- JavaScript 指定したパスが現URLに含まれていたら特定要素を削除するJavascriptのコードを教えてください 2 2023/04/27 17:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
C#テキストボックスの文字を配...
-
undefinedを表示させない方法は...
-
ソートで
-
順列生成アルゴリズムについて...
-
二次元配列を使って順位をだす...
-
どうすればresponseText結果を...
-
jspからjavascriptの変数引継ぎ
-
Wikipedia APIの結果からタイト...
-
配列を作って総当たりで距離を...
-
javascript 変数名の連結をしたい
-
<a>タグのテキストを取得
-
C#OpenCv V4にのエラーに関する...
-
GASでundefinedエラーが出ます
-
window.openでタイトル名の指定
-
ActiveXobjectが作成できない
-
functionから別のfunctionを実...
-
クリッカブルマップのリンク部...
-
JAVAスクリプトで指定時間以降...
-
Vb.netのグローバル変数の宣言...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
C#テキストボックスの文字を配...
-
jspからjavascriptの変数引継ぎ
-
javascript 変数名の連結をしたい
-
二次元配列を使って順位をだす...
-
javascriptで行を抽出したいです。
-
javascriptからphpに配列データ...
-
多次元配列から最大値を1行また...
-
Perlの配列をJavaScriptに渡せ...
-
JSONデータを50音順でソートしたい
-
どうすればresponseText結果を...
-
バナーのランダム表示(複数、...
-
JavaScriptでの動的な多次元配...
-
JavaScriptからPHPに配列を渡す...
-
javascript 省略した記述と思わ...
-
【Google Apps Script】コード...
-
javascriptを用いて作成された...
-
[JS] setAttributeで保存される...
-
javascriptで2つのArrayの...
-
配列について、その要素を並べ...
おすすめ情報
>VBやCでは、これでオッケーなのですが
すみませんオッケーじゃないですね
Field[][]ですね。
それはさておき、javascriptで教えてほしいです