連想配列

連想配列とは

連想配列は、キー(key)と値(value)で構成された配列で、key-value データともいいます。

key: value

連想配列の記法

連想配列を定義するには、キーと値を { } で囲み、キーと値を :(コロン)で区切ります。

{ key: value }

複数の値がある場合、, (カンマ) で区切ってデータを複数設定できます。

{ 
	key1: value1,
	key2: value2,
	key3: value3,
	...
}

連想配列の定義

連想配列を定義してみましょう。

name furigana
東京 とうきょう
js/array_assoc.js
const station = {
    name: '東京',
    furigana: 'とうきょう'
}

DevTools で確認してみましょう。

コンソール
{name: '東京', furigana: 'とうきょう'}

連想配列の値取得

. でアクセス

連想配列のデータ取得は、.(ピリオド)でキーを指定します。

station.name

character データをキーで取得する

連想配列 station のキーをそれぞれ指定して、コンソール表示します。

js/array_assoc.js
console.log(station.name)
console.log(station.furigana)
コンソール
東京
とうきょう

連想配列のデータ更新

連想配列のキーを指定して値を代入します。 キー「name」「furigana」にデータを代入して更新します。

js/array_assoc.js
station.name = '新橋'
station.furigana = "しんばし"

console.log(station)

データが更新されました。

コンソール
{name: '新橋', furigana: 'しんばし'}

連想配列の配列

name furigana
東京 とうきょう
有楽町 ゆうらくちょう
新橋 しんばし

この表を連想配列で表現すると以下のようになります。

const stations = [
    { name: '東京', furigana: 'とうきょう' },
    { name: '有楽町', furigana: 'ゆうらくちょう' },
    { name: '新橋', furigana: 'しんばし' },
];

console.log(stations);

演習

問題1

以下のHTMLで、連想配列の値を表示してみましょう。

array_assoc.html
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>連想配列</title>
  <script src="https://cdn.tailwindcss.com"></script>
</head>

<body class="bg-gray-100 w-[500px]">
  <div class="bg-white shadow-md rounded-lg p-4 text-center">
    <div id="current-station" class="text-3xl font-extrabold text-black mb-2">
    </div>
    <div id="current-furigana" class="text-sm text-black mb-6">
    </div>
    <div class="flex justify-center space-x-24 bg-green-500">
      <div id="prev-station" class="font-extrabold text-white px-4 py-2">
      </div>
      <div id="next-station" class="font-extrabold text-white px-4 py-2">
      </div>
    </div>
  </div>
  <script src="js/array_assoc.js"></script>
</body>

</html>
js/array_assoc.js
const stations = [
    { name: '東京', furigana: 'とうきょう' },
    { name: '有楽町', furigana: 'ゆうらくちょう' },
    { name: '新橋', furigana: 'しんばし' },
];