連想配列とは?初心者のJavascriptの勉強

連想配列という言葉を初めて聞いたけれど、Javascriptの基本?らしいので勉強しておこうと思います。

連想配列とは

連想配列とは、配列の中身を array[0] の 0 ように数値で配列の中身の値を呼び出すと思いますが、数値ではなく中身がわかりやすいように任意で名前をつけてあげてその名前で値を呼び出す方式です。

Javascriptの配列では連想配列には対応していません。配列の中身は array[0] のように数値で呼び出すことしかできません。しかし、オブジェクトが連想配列として扱えます

// 例
let info = { author:"Nakamoto", url:"https://programmer-life.work"};
console.log(info.author); // Nakamoto

※ MapとWeakMap型も実現可能なようですがここでは割愛します。

ちなみに連想配列は英語で Associative array (アソシエイティブ アレイ)またはHashes(ハッシュ)などと言います。Dictionary (ディクショナリー)というのも見かけました。なぜこんなに訳が多いのかなと思ったら、言語によって呼び方が違うからのようです。

  • Associative arrays = PHP
  • Dictionaries = Python
  • Hash tables = C
  • Hash maps = Java
  • Hashes = Ruby と Perl

日本語になるとどれもまとめて連想配列と読んでいるようですね。JavascriptはObject = 連想配列となるのかな。訳は置いておいて、「連想配列 = 任意の名前で呼び出せる」という意識でいれば問題なさそうです。

連想配列(object)の理解を深めよう!

せっかくなので連想配列(object)の理解を深めましょう。調べていてよくわからなかった用語や参考になりそうなサンプルコードを紹介します。

オブジェクトリテラル

名前と値の組み合わせのリストをオブジェクトリテラルと言います。

let info = { author:"Nakamoto", url:"https://programmer-life.work"};

波カッコ { } の間の部分がオブジェクトリテラルとなります。

キーと値 (key and value)

コロンの左側がキー(プロパティとも呼ばれる)、右側が値となります。

key : value

連想配列の配列サンプルコード

初心者がよく頭が混乱すると言われている、連想配列と配列の組み合わせのサンプルコードを用意しました。

let movies =[
    {name:'パラサイト', year:'2020'},
   {name:'グリーンブック', year:'2019'} ,
    {name:'シェイプ・オブ・ウォーター', year:'2018'}
]
console.log("名前 : " + movies[1].name); // 名前 : グリーンブック

配列の中に連想配列が入っているので配列の場所を指定してからキーを指定して値を取り出します。

おわり

普段何気なく使っていたオブジェクトが連想配列という別名を持っていたことを知らず、英語と日本語で調べたら用語はいっぱい出てくるしで大混乱でしたが少し賢くなれました。

参考

JavaScript Objects w3schools

Javascript

Posted by Nakamoto