電子書籍の厳選無料作品が豊富!

<javascript type="text/javascript">
var nameArray=new Array(30);
nameArray[0]="足立";
nameArray[1]="安藤";
nameArray[2]="内木";
:
(1)for(var i=0;i<=nameArray.length;i ++){
(2)for(var j=0;j<=100.length;i ++){
(3)document.write(nameArray[i]+"");


配列のところをやっていますが
(1)うまく画面に出ませんでした
(2)(1)の部分なんですが真ん中は条件を通常は入れるところですが
この条件である”nameArray.length”はどういう事なんでしょうか?
(3)(2)の部分はjより100小さい数が条件で
(3)が適用されるというループですが
”nameArray[i]+""”は[j]でないのは何故なんでしょうか?

A 回答 (1件)

・動かない原因



1.全角文字が混じってる
文字列以外は半角文字

2.閉じ括弧が足りない
1つ(があれば1つ)がある
2つ[があれば2つ]がある
3つ{があれば3つ}がある

3.余分な.length
lengthは文字列や配列の長さの数値


・問題点

1.j++であるべきところがi++になっている

2.ループ回数のミス
j=0;j<=100では
jが0,1,2,3,......,98,99,100となり
ループ内が計101回実行されてしまう
100回にしたい時はj=0;j<100、またはj=1;j<=100
またiについても同様で
配列の添字は0から始まりn番目の要素ではn-1となるので
i=0;i<nameArray.length、またはi=0;i<=nameArray.length-1

3.エラー対処にはブラウザのコンソールを使うべし
ChromeならF12キーでコンソールが開く
エラーの内容と場所を確認できる
また、コードを書いて即実行することもできる


・修正後コード

for(var i=0;i<nameArray.length;i++){
for(var j=0;j<100;j++){
console.log(nameArray[i]+"");
}
}


・>>”nameArray[i]+""”は[j]でないのは何故なんでしょうか?
iが0から配列の要素数-1まで+1されながら繰り返されている
これはnameArray[i]と添字に使って、配列の全要素を順番にさらっていくためのもの
jはただ100回繰り返すための変数
よって[j]だと意味が無い
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!