JavaScript・まとめる・くり返す

配列:たくさんの値をまとめる

変数が「箱」なら、配列は「箱がずらりと並んだ棚」。すきなものリストのような“たくさんの値”を、ひとつの名前でまとめて持てます。

変数は「名前をつけた箱」でした。でも、しまちゃんのすきなもの4つを持ちたいとき、箱を4つ用意してlike1like2……と名前をつけるのは大変です。そこで登場するのが配列。箱がずらりと並んだ、名前つきの棚です。

配列の作り方

const likes = ["おえかき", "ラーメン", "ゲーム", "しま"];
部分意味
[ ]棚全体の“いれもの”
,(カンマ)値と値の区切り
likes棚につけた名前

4つの値が、likesというひとつの名前にまとまりました。

取り出すときは番号で

棚から1つ取り出すときは、[番号]をつけます。

console.log(likes[0]);
console.log(likes[3]);

コンソールには「おえかき」と「しま」が出ます。……あれ、likes[3]が4番目?

いくつ入っているか数える:length

.lengthをつけると、棚に入っている値の個数が分かります。

console.log(likes.length);

コンソールには4が出ます。中身が増えても減っても、likes.lengthはいつも正しい個数を答えてくれます。

あとから追加できる:push

pushを使うと、棚のいちばん後ろに値を追加できます。

likes.push("プログラミング");
console.log(likes.length);

すきなものが5つに増えました。constで作った配列でも、中身の追加や入れかえはできます(棚ごと別のものに取りかえるのがダメ、というルールです)。

中身を入れかえる

番号を指定して=で入れると、その場所の値を書きかえられます。

likes[1] = "うどん";
console.log(likes[1]);

2番目(番号1)の「ラーメン」が「うどん」に変わりました。棚の2段目のものだけ入れかえるイメージです。取り出すときも入れかえるときも、場所の指定はいつも「名前+番号」——この形さえ覚えれば配列は自由自在です。

HTMLリストで箇条書き「見せるためのリスト」の作り方(HTML側)はこの回

このレッスンのまとめ

  1. 配列は["値", "値", …]——番号つきの棚にまとめて入れる
  2. 取り出すのは名前[番号]。番号は0から始まる
  3. .lengthで個数が分かり、.push()で追加できる

やってみよう

今回学んだ「配列」は、しまちゃんのページには使いません(すきなものはHTMLのリストで並べましたね)。たくさんのデータをプログラムで扱う——たとえばクイズの問題集や、ToDoリストのようなページのための道具です。覚えておいて、必要になったら使いましょう。

よくある質問

配列の番号はなぜ0から始まるのですか?
コンピュータが「先頭からいくつ離れているか」で場所を数えるためです。先頭は「0個ぶん離れた場所」なので0番。多くのプログラミング言語で共通のルールです。
constで作った配列に、なぜpushで追加できるのですか?
constが禁止するのは「棚ごと別のものに取りかえること」だからです。棚はそのままに、中身を追加したり入れかえたりするのは自由です。
配列の最後の値を取り出すにはどう書きますか?
番号が0から始まるぶん、最後の番号は「個数−1」です。likes.lengthが4なら、最後の値はlikes[3]で取り出せます。