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

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

ただいまの
回答率

90.53%

  • HTML

    8923questions

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

HTMLからdataを読む

解決済

回答 6

投稿

  • 評価
  • クリップ 0
  • VIEW 547

ryujiro

score -3

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."];

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • ryujiro

    2017/04/18 16:30

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

    キャンセル

  • toutou

    2017/04/18 17:06

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

    キャンセル

  • think49

    2017/04/18 17:23

    質問本文の左下に [編集] と書かれたボタンのような見た目のリンクがあります。 https://teratail.com/questions/edit/72854

    キャンセル

回答 6

+3

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

Re: ryujiro さん

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

checkベストアンサー

+2

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

まず、繰り返し処理(ループ)と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 19:01

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

    キャンセル

  • 2017/04/20 14:57

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

    キャンセル

0

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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 17:54

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

    キャンセル

  • 2017/04/18 17:56

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

    キャンセル

  • 2017/04/18 17:57

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

    キャンセル

  • 2017/04/18 18:07

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

    キャンセル

  • 2017/04/19 17:41

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

    キャンセル

  • 2017/04/19 17:48

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

    キャンセル

-1

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."]; 

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/18 16:48

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

    キャンセル

-2

<!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> 

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.53%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    チェックボックスで複数チェックして残り1つになったら非活性にする方法

    表題の件ですが、 例えば、5つのチェックボックスをチェックできるとして、 ランダムに4つチェックして、 残り1つになったら、 まだチェックしていないチェックボックスを非活性にして

  • 解決済

    window.open を使わずにpopupする方法

    window.open を使わずにpopup画面を表示し、 その中でボタンを押したりしたい div 要素を動的に変えて、モーダルで・・・ という方法があるようですが、 元の画面

  • 受付中

    サイドメニューが下まで行ったらそこで固定するJS

    下記リンクを参考にスクロールを作成したのですが メイン部分がJSにより長さが変わることがある(例:クリック押下でheightが伸びる等)ため、うまく動作しません。 理想としては、

  • 解決済

    JavaScriptでギャラリーを作りたい

    現在JSでギャラリー的なものを作ろうとしています 仕様としては 画面上段に画像(原寸より小さいもの)を表示し、クリックされると下にその画像の原寸大が表示されるというものです ですが

  • 解決済

    JSONのデータをグーグルマップに表示

    お世話になります。 現在、JSONのデータをグーグルマップに表示する機能を実装しようとしているのですが、JSONのデータをループで取れなくて困っています。 よろしければご教授く

  • 解決済

    settimeoutでのループを指定の回数にしたい

    jQueryにて、animate関数を使ったループするアニメーションを作成中です。 それぞれの要素が独自の動きをして、それがひたすらループするというものです。 これらをずっとルー

  • 解決済

    ラジオボタン直後の文字列をlabelで括りたい

    ラジオボタン直後の文字列をlabelタグで括りたいです。 具体的には、jqueryで動的に以下のように修正したいです。 [修正前] <div class="hoge">    

  • 受付中

    swiper.jsを使用したいのですが、うまく動作しません

    前提・実現したいこと swiper.jsを使用したいのですが、うまく動作しません。 エラーメッセージ スライダーのボタンは表示されているのですが、押しても反応しません

同じタグがついた質問を見る

  • HTML

    8923questions

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