【javascript】連想配列でサイズを取得する

LINEで送る
Pocket

javascriptで下記の様な変数があったとします。



この連想配列のサイズ(3)を取得したい場合はどうすれば良いのでしょうか?
そうです、lengthは使えません。
一時的に下記のような解決方法に至りました。


このcountが要素数です。
…が、なんかすごいダサいです。
もうちょっと調べてたらようやく出て来ました。

javascript 連想配列(オブジェクト)の要素数が知りたい。



これだ!

と言う事でObject.keysを使って解決したのでした。

誰かのお役に立てば。

LINEで送る
Pocket

Dalt

translimit, Inc. Application Engineer. Twitter: @daiki1003 Facebok: Daiki Asahi

【javascript】連想配列でサイズを取得する」への1件のフィードバック

  1. いつもこっそり見させてもらってます!今回JSだったので小ネタを投下させて頂きますw

    連想配列のサイズを取得するにはObject.keysを使うのであっているのですが、for inには罠があり違う数値になるケースもあります。下記例です。

    function ClassA() { this.a = null; }
    function ClassB() { this.b = null; }
    ClassB.prototype = new ClassA();

    var instanceB = new ClassB();

    var count = 0;
    for (var i in instanceB) count++;

    console.log(instanceB);
    console.log('count:', count);
    console.log('Object.keys:', Object.keys(instanceB).length);
    //-- output --
    // nodejs-v0.10系の場合: { b: null }, 現chromeコンソールの場合: ClassB {b: null, a: null}
    // count: 2
    // Object.keys: 1

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です