こんにちは。Web系エンジニアのカズです。
今回はjavascriptの配列に関する練習問題を作成してみました。
問題1:配列の要素の追加
問題1:1から100までの連続する整数の配列を生成し、コンソールログに表示してください。
解答例
<script>
let array = [];
for (i=1; i<=100; i++) {
array.push(i);
}
console.log(array);
</script>
コンソールログ
1から100の整数を全て手入力で作成するのは大変ですよね。
そのためfor文でループを回して1から100の連番の整数を作ります。
配列には要素を追加するpushというメソッドがあるので今回はそれを使用しています。
arrayという空の配列を一度作成して、そのあと連番のiを追加するという実装方法です。
pushメソッド
配列名.push(追加したい値);
問題2 : 配列の長さ
問題2 : [2, 4, 6, 8, 10]という配列が既にあるとします。
この配列の要素全てに+1をしてコンソールログに表示してください。
解答例
<script>
let array = [2, 4, 6, 8, 10];
for (i=0; i<array.length; i++) {
array[i] = array[i] + 1;
}
console.log(array);
</script>
コンソールログ
[2, 4, 6, 8, 10]の配列をループで回して、その要素に対して+1をしています。
何回ループを回せばよいかは、配列の要素数まで回せばよいです。
配列の要素数
配列.length
また、配列の先頭のindex番号は1ではなく0のため、0から5までのループを回せばよいことになります。
問題3 : 配列の要素を比較する
2つの配列を比較して同じ値のものをコンソールログに表示してください。
I配列 : [1, 2, 3, 4, 5]
H配列 : [1, 3, 5,]
解答
let arrayI = [1, 2, 3, 4, 5];
let arrayH = [1, 3, 5];
for (i=0; i<arrayI.length; i++) {
for (h=0; h<arrayH.length; h++) {
if (arrayI[i] === arrayH[h]) {
console.log(arrayI[i]);
}
}
}
コンソールログ
for文のネスト(重ねる)をすることで、実現できます。
arrayIのループの値が1のとき、arrayHの1,arrayHの3,arrayHの5と順にループが回ります。
次も同じようにarrayIの値が2のとき、arrayHの1,arrayHの3,arrayHの5と順にループが回ります。
コメント