3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Javascript】連想配列の中身の確認方法。

Posted at

配列と連想配列の違い

まずは配列から。

配列

main.js
var array = [];
    array.push(''); //console.log(array[0]); あ
    array.push(''); //console.log(array[1]); い
    array.push(''); //console.log(array[2]); う
    array.push(''); //console.log(array[3]); え
    array.push(''); //console.log(array[4]); お

  array['','','','','']; //配列の中身

これが一般的な配列ですね。
[0]を一番左としインデックス番号で取得できます。
もちろん、番号ではなく値を指定して取得することも可能です。
ちなみに配列の中身はこんな感じになっています。

なんとなく配列はわかりました。

連想配列

次は連想配列です。

main.js
    var ARRAY = [];
        ARRAY['名前'] = '太郎'; //console.log(ARRAY['名前']); 太朗
        ARRAY['年齢'] = '30'; //console.log(ARRAY['年齡']); 30
        ARRAY['住所'] = '東京'; //console.log(ARRAY['住所']); 東京

       //中身 [名前: "太朗", 年齢: "30", 住所: "東京"];

こんな感じです。
何が違うのかというのは見た感じわかりますが、何がどう違うのか。
配列ではarray[値, 値,・・・]だったのに対し、連想配列はARRAY[キー:値, キー:値・・・]といった中身になっています。

違いはこんな感じです。

要素数の確認方法

次は配列と連想配列の要素数の確認方法です。
配列は**.length**で取得できます。

main.js
 var array = [];
        array.push(''); //console.log(array[0]); あ
        array.push(''); //console.log(array[1]); い
        array.push(''); //console.log(array[2]); う
        array.push(''); //console.log(array[3]); え
        array.push(''); //console.log(array[4]); お

        console.log(array.length); //5

連想配列では違うプロパティを使用します。
それが、**Object.keys(配列名).length;**です。
何故、配列ではlengthが使えて連想配列では使えないのかというと、配列とオブジェクトの違いです。
どう違うのかと言うと、配列はインデックス番号(添字とも言う)で管理されているのに対し、オブジェクトはプロパティで管理されている(キー:値)と言う違いがあります。

そして.lengthは添字を数えるものなんですね。
一方でObject.keys(配列名).lengthはプロパティを数えます。

これを知らずに.lengthで連想配列(オブジェクト)の要素を取得しようとしても、いつまでたっても0のままなので、気を付けて下さい。

まとめ

・配列はインデックス番号で取得する
・連想配列(オブジェクト)はキーで取得する
・配列とオブジェクトの違いは添字で管理されているのが配列。プロパティで管理されているのがオブジェクト。
・配列には.lengthを使用し、オブジェクトにはObject.keys(配列名).lengthを使う。

3
2
13

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?