質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

2482閲覧

多次元配列の比較が上手く行かない

Diawel

総合スコア190

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2016/06/17 23:03

###前提・実現したいこと
多次元配列の比較をしたいです。

###発生している問題・エラーメッセージ

多次元配列の比較の結果が比較の条件を満たしていても、falseになってしまいます。

###該当のソースコード

alert(stone[i][j]);//この時点では2と表示されます。 alert(stone[i][j]==2);//でもこれだとfalseになってしまいます。

###試したこと
stone[i][j]を一旦他の変数に移して試して見ましたが結果は変わりませんでした。
if文に組み込んでも、その中身が動作することはありませんでした。

回答よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

処理系依存でしょうか?特に問題なく動くようです。(下記はalertの代わりにconsole.logを使っています)
https://paiza.io/projects/twY8XjlQ82_daba0uJg4uQ

投稿2016/06/18 01:05

raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Diawel

2016/06/18 01:17

そうかもしれないですね。ありがとうございました。
guest

0

載せてあるコードを元に動かしてみましたが、うまく動作しました(chrome)。 ブラウザで確認されてますか? それともelectronのような環境ですか?

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> var stone=[ [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,2,1,0,0,0], [0,0,0,1,2,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0] ]; for(i=0;i<stone.length;i++){ for(j=0;j<stone[i].length;j++){ console.log(stone[i][j]); console.log(stone[i][j]==2); if(stone[i][j]==2){ alert(stone[i][j]==2); } } } </script> </body> </html>

投稿2016/06/18 00:33

sekitaka_1214

総合スコア509

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Diawel

2016/06/18 00:45

ご回答ありがとうございます。 ぼくはBlockLauncherでalertの代わりにclientMessageをつかってやってます。
guest

0

ベストアンサー

2は文字列ではないですか?

投稿2016/06/17 23:46

編集2016/06/17 23:48
Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Diawel

2016/06/17 23:48 編集

ご回答ありがとうございます。 はい、数字です。
Zuishin

2016/06/17 23:50

この配列の内容はどうやって取得していますか? ソースの該当部分を追記お願いします。
Zuishin

2016/06/17 23:51

取得ではなく代入でした。たびたびすみません。
Diawel

2016/06/17 23:52

こんな感じになってます。 var stone=[ [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,2,1,0,0,0], [0,0,0,1,2,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0] ]; for(i=0;i<stone.length;i++){ for(j=0;j<stone[i].length;j++){ alert(stone[i][j]); alert(stone[i][j]==2); } }
Zuishin

2016/06/17 23:53

あと、問題が解決してないのに解決済みになっていますよ。ベストアンサーを外して下さい。他の方が回答しにくくなります。
Diawel

2016/06/17 23:54

この時に2と表示されているalertもあるのに、trueのalertが無いんです。
Diawel

2016/06/17 23:55

何故かベストアンサーになっちゃって消せないんです。
Zuishin

2016/06/17 23:56

追記ありがとうございます。今PCの前にいないので、試せるようになったらまた覗きます。
Diawel

2016/06/17 23:57

ありがとうございます。
Zuishin

2016/06/18 00:15

少し時間がかかります。 ベストアンサーが外せないのであれば、もう一度同じ質問を新たに作成して、ソースの該当部分を載せて、再度の質問であることと事情を明記して、他の方の意見を伺ってみてください。
Zuishin

2016/06/18 03:50

試してみましたが、私のところではちゃんと動きました。 他の方へのコメントで「alert でなく BlockLauncherのclientMessage」と書かれていましたが、問題はそこにあるのではないですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問