配列はこれまでにも学んだことがありますが、今回学ぶ配列は
いつもの配列とは異なります。ただの配列ではなく、『連想配列(オブジェクト)』を学んでいきます。
まずは簡単な説明から。
連想配列とは
これまでに学んだ配列は、データを格納した順に0から順番に
添字が割り当てられていきましたが、連想配列は添字をプログラマーが
自由に決めることができます。
なお、連想配列(オブジェクト)の作り方はつぎの通りです。
1 2 3 4 5 |
var 配列名 = { データ1の添字:データ1, データ2の添字:データ2, データ3の添字:データ3 }; |
配列の時とは異なり[]ではなく連想配列(オブジェクト)は{}でくくるので間違えないようにしてください。
下のプログラムはビリーさんの情報を連想配列にしたものです。
1 2 3 4 5 6 7 8 9 |
var obj = { name:'Billy' , age:'20' , from:'USA' }; console.log(obj['name']); //要素の取り出し方1 console.log(obj.age); //要素の取り出し方2 console.log(obj['from']); |
配列は自動的に数字の添字が割り当てられるので、要素のみ記載すれ
ば配列は作られましたが連想配列は添字にあたる部分を自分で設定するため
添字と値の両方を書く必要があります。
今回の場合は、name、age、fromを添字にしています。
ちなみに連想配列の場合はこの添字にあたる部分をプロパティ又はキーと呼びます。
値を取り出す場合は配列の時と変わらないのですが、キーは文字列と見なされるのでシングルクォーテーションで囲むことを忘れないようにしてください。
また、連想配列を代入した変数名との後にドットをつけて「.」キーを書くことで取り出すこともできます。
それでは練習してみましょう。
1.上のビリーの配列に趣味のデータを追加しましょう。
データの名前は”hobby”、データは「バスケット」です。
2.1の配列が作成できたら内容をconsole.logで表示してみてください。
3.自分の名前、年齢、出身地をそれぞれ name, age, fromをキーとして
連想配列を作成してください。
4.3の内容をconsole.logを使って確認してください。
5.下記の表について、
出席番号 名前 国語の点数 数学の点数
1 太郎 90 45
2 花子 85 70
3 一郎 98 40
4 幸子 90 90
5 ジョンソン 20 95
ヒント:正しく作成できた場合は下記の結果が出ます。
console.log(arrayMemberInfo[‘太郎’]); //90
console.log(arrayMemberInfo[‘花子’]); // 85
宿題
演習で利用した表について、名前をキー、数学の値をデータとした連想配列を作成してください。
1で作成した連想配列データの中身を確認してください。