JavaScript for文で掛け算九九の表を作ってみる
繰り返しの処理、for文をもう一つ。
二重ループを作成してみようの回。
二重ループとは文字の通り、for文の中にまたfor文があること。
イメージを描いてみた。
イメージはこんな感じ。
この入れ子のような状態を「ネスト」と言ったりする。
ネストっていうとカッコイイかも知れないけど、
多ければ多いほど、かっこわるい。
見にくい、読みにくい、処理が多い、時間がかかるってこと。
今はシンプルなのが好まれるらしい~
ってことで、すこーし複雑になりますが、
とりあえず九九表を作ってみます!
作っていくうちにわかってきたらいいなという願いを込めて…
そんな感じで参考文献(以下に記載)を手元に置きながら
九九の表を作成してみた。
このプログラムのソースコードがこちら。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>for for</title> <style> table { border-collapse: collapse; } td { width: 60px; height: 50px; border: solid 1px; text-align: center; } </style> </head> <body> <table id="kukuTable"></table> <script> var tbl = document.getElementById("kukuTable"); //よこに1~9 for (i = 1; i <= 9; i++) { //insert〇〇で-1だと最後に追加するって意味らしい var yoko = tbl.insertRow(-1); //2で割ってあまりが1だったら黄色 if (i % 2 == 1) yoko.style.backgroundColor = "#FFD700"; //たてに1~9 for (var a = 1; a <= 9; a++) { var tate = yoko.insertCell(-1); //掛け算の結果(たて×よこ) var kake = i * a; tate.textContent = kake; } } </script> </body> </html>
順に追っていくと、
まず横に1~9の数字を並べて、
横の数字がもし2で割った余りの数が1だったらそのマスの背景を黄色にしましょう。
次に縦。
縦に1~9の数字を並べて、縦と横で掛け算をしましょう。
と言っております。
ちょっと端折りがあったかもしれませんが、
ひとまず九九の表は完成です!
プログラミングだとこの様な表も一瞬でできてしまうのですね。(表示に関して言えば…)
将来の小学校では…
先生 「はーい、では九九の表をプログラミングして作ってみましょう♪」
生徒 「はーい!」
…みたいな風景があるのかしらん。。。
<参考文献>
廣瀬 豪 『いちばんやさしい JavaScript 入門教室』 ソーテック社