本記事は、paizaラーニング「レベルアップ問題集」の学習記録です。
同コーナーでは、解答やコードの公開が認められています。
問題
1以上1,000以下のすべての整数を、昇順に改行区切りで出力してください。
期待する出力
答えの数値を1,000行で出力します。
また、出力の末尾には改行を入れます。
最初に書いたコードとエラー
1. if 文の条件式の書き方
最初は、次のように書いていました。
if (array[i]) < = 1000)
条件式全体を丸括弧の中に入れる必要があります。
また、比較演算子の <= は、途中にスペースを入れずに書きます。
if (array[i] <= 1000)
2. 数値に push() を使っていた
最初に、次のように変数を定義していました。
let result = 0;
しかし、その後で push() を使おうとしていました。
result.push(...);
push() は、配列の末尾に要素を追加するためのメソッドです。
そのため、push() を使う場合は、変数を配列として定義します。
let result = [];
3. 関数を実行できていなかった
console.log(numberLow);
この書き方では、関数を実行せず、関数そのものを表示しています。
関数を実行するには、丸括弧を付けて呼び出します。
numberLow(array);
また、関数が値を return する場合、その戻り値を表示するには次のように書きます。
console.log(numberLow(array));
今回の問題では配列や関数は不要だった
今回の問題は、配列の中から1,000以下の数値を探す問題ではありません。
1から1,000までの数値を、順番に出力する問題です。
そのため、配列や関数を使わなくても、for 文だけで実装できます。
正解コード
for (let i = 1; i <= 1000; i++) {
console.log(i);
}
学んだこと
-
for文を使うと、指定した範囲の数値を順番に処理できる -
push()は配列に要素を追加するときに使う - 関数名を書くだけでは、関数は実行されない
- 問題文をそのまま処理に置き換えると、必要以上に複雑なコードを書かずに済む

