下記のようにテストしてみてるのですが、何故か数字が足し算されず文字列として認識しているようです。
Total[21]がないのですが、これは関係あるのでしょうか
そしてTotal[21]を省く形で足し算をしてみてるのですが、合ってますでしょうか。先輩方のお知恵をお借り出来ましたら幸いです。
お願い致します。
Total = new Array();
Total[0]='0';
Total[1] = '16';
Total[2] = '16';
Total[3] = '16';
Total[4] = '16';
Total[5] = '16';
Total[6] = '16';
Total[7] = '16';
Total[8] = '16';
Total[9] = '16';
Total[10] = '16';
Total[11] = '16';
Total[12] = '16';
Total[13] = '16';
Total[14] = '16';
Total[15] = '16';
Total[16] = '16';
Total[17] = '16';
Total[18] = '16';
Total[19] = '16';
Total[20] = '16';
Total[22] = '16';
Total[23] = '16';
Total[24] = '16';
Total[25] = '16';
Total[26] = '16';
Total[27] = '29';
Total[28] = '17';
var total = '0';
for(i=1;i<=20;i++){
total = total + parseInt(Total[i]);
}
for(i=22;i<=28;i++){
total = total + parseInt(Total[i]);
}
document.write("+ total +");
No.4ベストアンサー
- 回答日時:
・数としてあつかうならクォーテーションでくくらない
・数をたしていくなら+=演算子をつかう
・文字列変換はparseInt
・配列のすべてのデータをひろうならfor in構文をつかう
以上から
<script>
Total = new Array();
Total[0]='0';
Total[1] = '16';
Total[2] = '16';
Total[3] = '16';
Total[4] = '16';
Total[5] = '16';
Total[6] = '16';
Total[7] = '16';
Total[8] = '16';
Total[9] = '16';
Total[10] = '16';
Total[11] = '16';
Total[12] = '16';
Total[13] = '16';
Total[14] = '16';
Total[15] = '16';
Total[16] = '16';
Total[17] = '16';
Total[18] = '16';
Total[19] = '16';
Total[20] = '16';
Total[22] = '16';
Total[23] = '16';
Total[24] = '16';
Total[25] = '16';
Total[26] = '16';
Total[27] = '29';
Total[28] = '17';
var total=0;
for(var i in Total){
total +=parseInt(Total[i]);
}
document.write(total);
</script>
数字として扱うならクオーテーションで括っては駄目なんですね。
+=演算子を使った方が良さそうですね。
for in文で配列全てのデータを拾える方法までご教授頂きありがとうございます。
これですと気にせず拾ってくれるのは便利ですね。
有難う御座いました。
No.3
- 回答日時:
このような場合は、eval() という関数を使います。
試してませんが、以下でよいのではないでしょうか。
total = eval( total + parseInt(Total[i]) );
No.2
- 回答日時:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Q3843076 TestCase 1</title>
<script type="text/javascript">
//<![CDATA[
function init(){
Total = new Array();
Total[0]='0';
Total[1] = '16';
Total[2] = '16';
Total[3] = '16';
Total[4] = '16';
Total[5] = '16';
Total[6] = '16';
Total[7] = '16';
Total[8] = '16';
Total[9] = '16';
Total[10] = '16';
Total[11] = '16';
Total[12] = '16';
Total[13] = '16';
Total[14] = '16';
Total[15] = '16';
Total[16] = '16';
Total[17] = '16';
Total[18] = '16';
Total[19] = '16';
Total[20] = '16';
Total[22] = '16';
Total[23] = '16';
Total[24] = '16';
Total[25] = '16';
Total[26] = '16';
Total[27] = '29';
Total[28] = '17';
//var total = '0';
// totalは0という文字列
var total = 0;
//totalは0という数値
//文字列と文字列以外の間では+は文字列連結演算子。
//数字と数字の時は算術演算子。
for(i=1;i<=20;i++){
total = total + parseInt(Total[i]);
}
for(i=22;i<=28;i++){
total = total + parseInt(Total[i]);
}
//alert("+ total +");
//document.write(total.toString())の間違いじゃね?;
//俺はdocument.write嫌いなのでalertをする。
alert(total.toString());
}
//]]>
</script>
</head>
<body onload="init();">
</body>
</html>
toString()関数で実行結果を取得できるんですか。
まだまだ初歩的な所でつまずいてる感じなのですが、良い勉強になりました。
またalertの使い方の実例としても大変参考になります。
簡単なhtml文に掲載頂き有難う御座いました。
No.1
- 回答日時:
<html><body>
<script>
//1個ずつ代入するよりまとめてみてみては?
var Total = [ 1,2,3,4,5,6,7,8,9,10 ];
//Totalの代入個数は Total.length で調べられるよ!
//Totalとtotalは区別されているけど紛らわしいのでは?
var total = 0;
//以下繰り返し加算
for(var i=0;i<Total.length;i++) total+=Total[i];
document.write("TOTAL="+total);
</script>
</body></html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SCRIPT5007: 未定義または NULL...
-
JavaScriptでのEnterキーとAlt+...
-
出荷予定日を表示するJavaスク...
-
クリックすると別の文章を表示する
-
[JS] IEでjavascriptを呼び出せ...
-
リンク移動先のURLを取得
-
キーを押している間の時間を計...
-
ボタンのID名を取得するには?
-
JavaScriptでiframeの内容を「...
-
iframeの中から親ページをスム...
-
javascriptのaudioで困ってます。
-
【jquery】EasyUIのSubGridにMy...
-
<a href="#" …>の意味を教えて...
-
ウィンドウ名の設定
-
bodyにidをつける理由は何ですか?
-
URLを引数とし、フレーム間で渡...
-
JAVAでリンクボタンを作成して...
-
Vbscriptで自分自身のウィンド...
-
(Javascript)印刷するファイル...
-
外部ファイル名を変数で指定で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SCRIPT5007: 未定義または NULL...
-
JavaScriptでiframeの内容を「...
-
getElementsByNameで要素が取得...
-
フォーカス移動抑止について
-
iframeの中から親ページをスム...
-
function の return 値を表示し...
-
キーを押している間の時間を計...
-
bodyタグのfocus
-
乱数を一定時間毎に表示させた...
-
自動ジャンプでフォームデータ...
-
javascriptでクリックしたリン...
-
XMLHTTPRequestでstatusが0に
-
JavaScript でキーを送る
-
ページ全体を検索して特定文字...
-
リンク移動先のURLを取得
-
htaでVBSのソースを書いたらエ...
-
フレームサイズの変更について
-
マウスオーバーで文字にアンダ...
-
「オブジェクトを指定してくだ...
-
html javascript 作った配列を...
おすすめ情報