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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

654閲覧

ifを使って入力された数字が何個同じか表示する。

moracal0303

総合スコア1

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/12/01 15:32

前提・実現したいこと

テキストボックスを3つ作成し、その中にそれぞれ数字を入れて判定ボタンを押すと、何個同じ数字があったかを表示してくれるという動作をしたいのですが、if内が複雑でわかりません。
たとえば、3つの数字のうち3つ同じだったら、「同じ数字の数は3つです」2つの時は「同じ数字の数は2つです。」というように表示したいです。

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

if内コードが分からない

該当のソースコード

<script> function judge() { //変数 ans を用意し、表示(出力)先とする var ans=document.getElementById("answer"); //変数を用意する var text1, text2, text3; //テキストボックス figure1 に入力された数字を変数 text1 に代入する text1=window.document.myform.figure1.value-0; //テキストボックス figure2 に入力された数字を変数 text2 に代入する text2=window.document.myform.figure2.value-0; //テキストボックス figure3 に入力された数字を変数 text3に代入する text3=window.document.myform.figure3.value-0; //変数 を用意し、3つの数字が同じかどうか判断する if () { ans.innerHTML="同じ数字の数は3つです。"; } if () { ans.innerHTML="同じ数字の数は2つです。"; } else { ans.innerHTML="同じ数字は1つもありません。" } } </script> </head> <body> <p>3つの数字のうち、同じ数字の数を数える。</p> <p> <form name="myform"> 数字1:<input name="figure1" type="text"><br> 数字2:<input name="figure2" type="text"><br> 数字3:<input name="figure3" type="text"><br> <input type="button" value="判定" onclick="judge()"> </form> </p> <div id="answer">ここに答えが入力されます</div> </body> </html>

補足情報(FW/ツールのバージョンなど)

初心者にもわかりやすく説明していただけると幸いです。

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

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

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

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

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

guest

回答3

0

ベストアンサー

if文を下記のようにすればどうでしょう。

js

1 if (text1===text2 && text2===text3) { 2 ans.innerHTML="同じ数字の数は3つです。"; 3 } 4 else if (text1===text2 || text2===text3 || text3===text1) { 5 ans.innerHTML="同じ数字の数は2つです。"; 6 } 7 else { 8 ans.innerHTML="同じ数字は1つもありません。" 9 }

投稿2020/12/01 16:46

hatena19

総合スコア33620

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

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

0

たとえばこんなかんじでどうでしょう

javascript

1 var x = 0; 2 if (text1 == text2) x++; 3 if (text1 == text3) x++; 4 if (text2 == text3) x++; 5 // xに同じものの数が入ってる

投稿2020/12/01 21:37

takasima20

総合スコア7458

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

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

0

要素が3個ならこれでいけます

javascript

1var ret=["3個とも一緒","2個が一緒","1個もない"][(new Set([text1,text2,text3])).size-1]; 2console.log(ret);

投稿2020/12/02 00:13

yambejp

総合スコア114572

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問