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

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

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

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

Q&A

解決済

6回答

1492閲覧

HTMLからdataを読む

ryujiro

総合スコア17

HTML

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

0グッド

0クリップ

投稿2017/04/18 04:17

07JP27 さんありがとうございました。大変参考になりました。
こんな風に変えてみましたが動きません。どこが悪いのでしょうか?

HTML

<!doctype html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta http-equiv="x-ua-compatible" content="IE=edge"> <title>template</title> <link href="../../_common/css/style.css" rel="stylesheet" type="text/css"> </head> <body> <header> <div class="header-contents"> <h1>タイトル</h1> <h2>サブタイトル</h2> </div><!-- /.header-contents --> </header> <div class="main-wrapper"> <section> <script type="text/javascript"> function onload() { var count=0; //ここにXの数をカウントする処理

var arnm = 1;
var arname = "array" + arnm;
var totalnm = 0;
var counter;
for (var arnm = 1; arnm < arname.length; arnm++{
if (arname[1] = '○') {
return 'counter';
}
else if (arname[1] = '×') {
totalnm = totalnm + 1;
return 'counter';
}
}
count =totalnm;

//countにXの数を代入 document.getElementById("count").innerHTML = count; }
</script> </section> </div><!-- /.main-wrapper --> <footer>JavaScript Samples</footer> <body onload="onload()"> カウントは<span id="count"></span>です。 </body> </body> </html>

Javascript
//ここニデータを入れる//
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."];
array8['10','×','高所恐怖症なんだ。',"I'm afraid of heights."];

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

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

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

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

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

kei344

2017/04/18 04:19

質問文のコードはそれぞれコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
ryujiro

2017/04/18 04:21

何分初心者なもので、投稿のルールが良く分かってなくてすみません。
kei344

2017/04/18 04:23

質問文は投稿後に修正が可能です。ここはその依頼フォームです。
toutou

2017/04/18 04:29

どこが悪いかは何がしたいかわからないのでわかりません。動くだけでいいのでしょうか?思ったとおりの動きをしなくてもいいなら動かせます。
dit.

2017/04/18 04:39

kei344様の言いたいことが伝わっていないようなので横やり失礼します。質問文では「ここがコードです」と区別するためのしくみが使えます。コードの前後の行に```(バッククオート3つ)を入れるのですが、コードを選択してから入力欄上にあるボタンで設定することもできます。こちらの「アドバイス」をご覧ください。https://teratail.com/help/question-tips#questionTips3-5 あとから編集することもできます。
ryujiro

2017/04/18 06:51

どこが悪いかは何がしたいかわからないのでわかりません。動くだけでいいのでしょうか?思ったとおりの動きをしなくてもいいなら動かせます。 ⇒何がしたいのかを追加でここに書けばいいのでしょうか?
date

2017/04/18 07:02

arrayのデータはどこからどうやって取得しているのですか?
ryujiro

2017/04/18 07:30

Japascriptのarray1~array10を読みに行きたいのですが。
toutou

2017/04/18 08:06

自分の質問をみると編集ってありませんか?
guest

回答6

0

  1. 二次元配列を作る
  2. Array.prototype.filterarray[i][1] === 'X' な要素を抽出する
  3. length を得る

Re: ryujiro さん

投稿2017/04/18 08:06

think49

総合スコア18164

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

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

0

ベストアンサー

重複質問の方に回答してしまいましたが、これもご縁でしょうから回答します。

まず、繰り返し処理(ループ)とfor文について理解してください。
初心者のためのJavaScript入門(5):JavaScriptで繰り返し処理をしてみよう! (2/2) - @IT

そして、2次元配列について、そのアクセスの方法について理解してください。
多次元配列 - 配列 - JavaScript入門

これらを理解されれば、質問者のコードのどの部分が間違っているか、分かるかと思いますので、おのずから質問は解決しているでしょう。

また、それに伴い、質問の仕方について、こちらを読んでみてください。

Five orders of Ignoranceというペーパーで、無知のレベルには5つのレベルがあるとされています。

0OI: 全部分かっている

「答え」を持っている。あとは書き写すだけで完成する。
1OI: 分からないことが分かっている
答えを得るための「質問」を持っている。
2OI: 分からないことが分からない
「質問」を持たない状態。決定的な答えを引き出すための「質問」ができない。
3OI: 分からないことが分からない状況を何とかする術を知らない
2OI→1OI→0OIと進んでいくためのプロセスがない状態です。
4OI: 無知にレベルがあることを知らない

質問する際はこの中で自分がどのステップに居るのか理解しておくことが重要です。

3OIの場合

このレベルは、何を頼れば問題が解決できるか分からない状態です。なので、質の高い書籍やサイトを教えてもらうところから始めましょう。
質問は恥ではないし役に立つ - Qiita

投稿2017/04/19 09:55

Lhankor_Mhy

総合スコア36115

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

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

ryujiro

2017/04/19 10:01

ありがとうございました。2次元配列と言うんですね。
ryujiro

2017/04/20 05:57

ありがとうございました。皆さんのおかげで問題は解決しました。
guest

0

最低限にしました。

<!doctype html> <html> <head> <meta charset="UTF-8"> <title>template</title> </head> <body> <script type="text/javascript"> function onload() { var count=0; var arnm = 1; var arname = "array" + arnm; var totalnm = 0; var counter; for (var arnm = 1; arnm < arname.length; arnm++{ if (arname[1] = '○') { return 'counter'; } else if(arname[1] = '×') { totalnm = totalnm + 1; return 'counter'; } } count =totalnm; document.getElementById("count").innerHTML = count; } </script> <body onload="onload()"> カウントは<span id="count"></span>です。 </body> </html>

var arname = "array" + arnm;の結果は文字のarray1です。
arname.lengthは文字数が6なので6です。
forの条件は1<6です。この条件が何をしたいかわかりません。)もないです。
ifの中身は(arname[1] = '○')ですが=だと代入してます。不明です。
arname[1]もよくわかりません。
return 'counter'で文字のcounterを返したいのかなというところです。
count=totalnmをしてますが、今のところ代入する意味がわかりません。
なお

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."]; array8['10','×','高所恐怖症なんだ。',"I'm afraid of heights."];

にはまったくふれておりません。入っていないので。
このような点で動くわけもないし、悪いところもたくさんあるし
何がしたいのかもわからないので、答えようがないというところです。
一つ一つの動作を確かめ、きちんと組み立てることをお勧めします。

投稿2017/04/18 08:48

編集2017/04/18 08:49
toutou

総合スコア2050

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

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

ryujiro

2017/04/18 08:54

ありがとうございます。 arname.lengthは文字数が6なので6です。の部分はarrayの数が無くなるまで繰り返させたいと思って書いたのですが・・・だめか
ryujiro

2017/04/18 08:56

return 'counter'で文字のcounterを返したいのかなというところです。の部分は、basicの様に counterの部分からもう一度繰り返させたい、ということです。
toutou

2017/04/18 08:57

arrayの数って何でしょうか?
toutou

2017/04/18 09:07

basicの様にもわからないし、forはreturnすると抜けますので繰り返しません。
ryujiro

2017/04/19 08:41

arrayの数というのはarry1からarry10まであるとすると、10個といういみです。
toutou

2017/04/19 08:48

array1~10の連番で配列が10個ありますよね。ならば繰り返しは10です。6って言われたときおかしいとは思いませんでしたか。
guest

0

javascriptに本当にこのように書いてあるなら、まずこの書き方から直す
本来ならどこかのテキストファイルなりjsonファイルなどからデータを取得すると思うのだがそのような記載が無い為直書きとみる

javascript

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

投稿2017/04/18 08:08

date

総合スコア1820

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

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

0

JavaScript

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

投稿2017/04/18 06:56

ryujiro

総合スコア17

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

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

kei344

2017/04/18 07:48

回答欄ではなく質問本文を編集してください。
guest

0

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>template</title> 8 <link href="../../_common/css/style.css" rel="stylesheet" type="text/css"> 9 </head> 10 <body> 11 <header> 12 <div class="header-contents"> 13 <h1>タイトル</h1> 14 <h2>サブタイトル</h2> 15 </div><!-- /.header-contents --> 16 </header> 17 <div class="main-wrapper"> 18 <section> 19 <script type="text/javascript"> 20 function onload() 21 { 22 var count=0; 23 //ここにXの数をカウントする処理 24 25var arnm = 1; 26 var arname = "array" + arnm; 27 var totalnm = 0; 28 var counter; 29 for (var arnm = 1; arnm < arname.length; arnm++{ 30 if (arname[1] = '○') { 31 return 'counter'; 32 } 33 else if (arname[1] = '×') { 34 totalnm = totalnm + 1; 35 return 'counter'; 36 } 37 } 38 count =totalnm; 39 40//countにXの数を代入 41document.getElementById("count").innerHTML = count; 42 } 43 </script> 44 </section> 45 </div><!-- /.main-wrapper --> 46 <footer>JavaScript Samples</footer> 47 48<body onload="onload()"> 49カウントは<span id="count"></span>です。 50</body> 51 </body> 52 </html>

投稿2017/04/18 06:55

ryujiro

総合スコア17

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問