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

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

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

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

Q&A

解決済

3回答

1388閲覧

Javascriptのarrayの「x」印の数をHTMLから数えて表示したい。

ryujiro

総合スコア17

JavaScript

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

0グッド

0クリップ

投稿2017/04/19 07:03

解決したいこと:Javascriptのarrayの「x」印の数をHTMLから数えて表示したい。

HTML

1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width,initial-scale=1"> 6 <meta http-equiv="x-ua-compatible" content="IE=edge"> 7 <title> 8 template 9 </title> 10 <link href="../../_common/css/style.css" rel="stylesheet" type="text/css"> 11 </head> 12 <body> 13 <header> 14 <div class="header-contents"> 15 <h1> 16 タイトル 17 </h1> 18 <h2> 19 サブタイトル 20 </h2> 21 </div><!-- /.header-contents --> 22 </header> 23 <div class="main-wrapper"> 24 <section> 25 <script type="text/javascript"> 26 function onload() 27 { 28 var count=1; 29 //ここにXの数をカウントする処理 30 31 var arnm = 1;//arrayの番号// 32 var arname = "array" + arnm; 33 var totalnm = 0; //全arrayの数// 34 var counter= 1; //Xの数// 35 for (var counter = 1; counter < arname.length;counter++){ 36 if (arname[1] === '○') {} 37 else if (arname[1] === '×') { counter = counter + 1;} 38 } 39 arnm=arnm+1; 40 count = counter; 41 42 //countにXの数を代入 43 document.getElementById("count").innerHTML = counter; 44 } 45 </script> 46 </section> 47 </div><!-- /.main-wrapper --> 48 <footer> 49 JavaScript Samples 50 </footer>カウントは<span id="count"></span>です。 51 </body> 52</html>
//ここニデータを入れる// array[]; array1=['1','○','待っていてくれてありがとう','Thanks for waiting.']; array2=['2','×','来てくれてありがとう','Thanks for coming.']; array3=['3','○','メールありがとう。','Thanks for your email.']; array3=['4','×','手伝ってくれてありがとう','Thanks for your help.']; array4=['5','×','アドバイスをありがとう。','Thanks for your advice.']; array5=['6','×','すごく眠い 。',"I'm so sleepy."]; array6=['7','×','ただいま! ',"I'm home."]; array7=['8','×','今すぐ行くよ。',"I'm coming right now."]; array8=['9''×','金欠なんだよね。',"I'm broke."]; array9=['10','×','高所恐怖症なんだ。',"I'm afraid of heights."]; console.log(array);

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

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

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

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

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

yambejp

2017/04/19 07:23

arraynが配列になっていないですが、そんな非効率な持ち方でいいのでしょうか?
kei344

2017/04/19 07:29

「何」が「どのように」わからないのか、どのコードで詰まっているのかを具体的に質問文に追記してください。
ttyp03

2017/04/19 07:30

HTML「から」って表現がそもそもおかしい。
ryujiro

2017/04/19 07:40

重複質問とのご指摘ですが、前回の皆さんのご指摘を加味して修正した上での質問です。
ryujiro

2017/04/19 07:42

「何」が「どのように」わからないのか、どのコードで詰まっているのかを具体的に質問文に追記してください。 →それがわかれば問題は解決していることでしょう。
ryujiro

2017/04/19 07:43

arraynが配列になっていないですが、そんな非効率な持ち方でいいのでしょうか? →まさにその非効率をどう修正すればいいのかを、教えてもらいたいのです。
think49

2017/04/19 07:46

これは質問の [編集] ではなく、[新規投稿] ですよね。 質問の [編集] 方法は皆さんから指摘を頂いていましたが、それを無視して新規投稿に至っています。 前質問の回答内奥への返信もせず、放置した状態で新しい質問を立てるのは前回答者に相当失礼な行為ではないかと思います。 これはマルチポストと呼ばれ、一般に嫌われる行為です。teratailではマルチポストは非推奨とされています。 https://teratail.com/help
guest

回答3

0

ベストアンサー

基礎が理解できていないのでしょうか?
待っていても正解にいきつきそうにないので
とりあえずこうしてください

javascript

1var a=[ 2 ['1','○','待っていてくれてありがとう','Thanks for waiting.'], 3 ['2','×','来てくれてありがとう','Thanks for coming.'], 4 ['3','○','メールありがとう。','Thanks for your email.'], 5 ['4','×','手伝ってくれてありがとう','Thanks for your help.'], 6 ['5','×','アドバイスをありがとう。','Thanks for your advice.'], 7 ['6','×','すごく眠い 。',"I'm so sleepy."], 8 ['7','×','ただいま! ',"I'm home."], 9 ['8','×','今すぐ行くよ。',"I'm coming right now."], 10 ['9','×','金欠なんだよね。',"I'm broke."], 11 ['10','×','高所恐怖症なんだ。',"I'm afraid of heights."], 12 ]; 13console.log(a.filter(function(x){return x[1]=="×";}).length); 14

投稿2017/04/19 08:52

yambejp

総合スコア114843

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

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

ryujiro

2017/04/19 09:52

ありがとうございます。 []を入れ子にしているわけですね。 最後の行で直接「x」の数を数えているのでしょうか?
ryujiro

2017/04/19 09:54

という事は、HTML側で数えるアルゴリズムは必要ないという事でしょうか?
yambejp

2017/04/19 10:45

○○があるとかないとかは単純に配列をfilterする方が楽だということです
ryujiro

2017/04/19 13:35

ありがとうございました。
guest

0

うおお……
いろいろ間違いがありますが、とりあえずループを作れるようになってからまた来てもらっていいですか。

for 文はループを作ります。

for - JavaScript | MDN

投稿2017/04/19 07:24

Lhankor_Mhy

総合スコア36115

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

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

toutou

2017/04/19 07:26

ifもついでに。違和感がある。
think49

2017/04/19 07:33

回答がついてしまったのでこちらに書きますが、https://teratail.com/questions/72854 でいろいろと回答を貰っている案件なんですよね…。 また、質問文上のコードは https://teratail.com/questions/72828 で回答されている 07JP27 さんのコードのコピペなので、「質問者さんがこのコードをどこまで理解しているか」は不明です。
ryujiro

2017/04/19 07:47

正にそうです。あまり理解していません。
ryujiro

2017/04/19 07:47

それを理解するために質問しています。
Lhankor_Mhy

2017/04/19 08:17

あー、重複質問だったんですね。それは失礼しました。 削除していただきたく。>質問者
guest

0

array=[]; array1=['1','○','待っていてくれてありがとう','Thanks for waiting.']; array2=['2','×','来てくれてありがとう','Thanks for coming.']; array3=['3','○','メールありがとう。','Thanks for your email.']; array3=['4','×','手伝ってくれてありがとう','Thanks for your help.']; array4=['5','×','アドバイスをありがとう。','Thanks for your advice.']; array5=['6','×','すごく眠い 。',"I'm so sleepy."]; array6=['7','×','ただいま! ',"I'm home."]; array7=['8','×','今すぐ行くよ。',"I'm coming right now."]; array8=['9','×','金欠なんだよね。',"I'm broke."]; array9=['10','×','高所恐怖症なんだ。',"I'm afraid of heights."]; console.log(array);//[]

arrayの中は何も入っていませんので×も0です。まずこれがなぜかわかってください。

投稿2017/04/19 07:47

toutou

総合スコア2050

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

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

ryujiro

2017/04/19 07:52

toutouさん、ご指摘ありがとうございます。 そもそも、最初と最後の行が何故必要なのかが良く分かりません、他の人が指摘してくださったように。
toutou

2017/04/19 07:53

配列って知ってますか?
ryujiro

2017/04/19 07:58

var 変数名 =[ , ,] って書くやつでしょ?
toutou

2017/04/19 08:00

それがわかってるところで問題です。ご自身の書かれたarrayは配列でしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問