配列
note
JavaScriptの配列は、他の言語とかなり異なる性質を持っています。他の言語の経験がある方は注意して読むようにしてください。
配列の生成
JavaScriptにおける配列(Array)は、キーが数値であるオブジェクトです。配列リテラルを用いて生成します。
配列リテラルでは、[から]までの領域の中に、複数の値をコンマ区切りで記述します。各値には0から始まる整数が自動的にキーとして割り当てられます。キー名が数値となっているため、各要素(プロパティ)にアクセスするためには、ブラケット記法を使用する必要があります。つまり、myFriends.1という記法はエラーとなります。
['A', 'B', 'C']のようにして生成された配列は、{ 0: 'A', 1: 'B', 2: 'C' }というオブジェクトと似ていますが、異なる点もあります。そのひとつがlengthプロパティです。配列にはlengthプロパティが自動的に定義され、配列の長さを表します。
配列の要素を列挙する
for文を使用すると、配列の要素を列挙させることができます。
lengthプロパティにより配列の要素数を取得することができるので、それを条件式の中で利用しましょう。
for文には、配列のようなオブジェクトの、全ての要素を列挙するための専用の記法が存在しています。for 〜 ofループです。
for (const 変数 of 配列)とすることで、配列の各要素を変数に代入しながらループを回すことができます。なお、for 〜 ofループの中ではconstが使用できることに注意してください。
ネストされた配列
配列の要素には、任意の値を格納できます。当然のことながら、配列自体を配列の中に格納することもできます。このような配列を、多次元配列と呼びます。
この場合、multidimensionalArray[1]の部分がまず評価され、[6, 7, 8, 9, 10]となります。続いて、[6, 7, 8, 9, 10][2]が評価され、8が表示されます。
オブジェクトと配列
配列の要素にオブジェクトを使用することもできます。以下は非常によく使用される例です。
この場合、students[2]の部分がまず評価され、{ name: 'Saburo', age: 18 }となります。続いて、{ name: 'Saburo', age: 18 }.ageが評価され、18となります。
課題
for ~ ofループによりstudentsの中からnameがJiroである生徒を検索し、その年齢を表示させてください。