21

重複の可能性:
javascriptオブジェクトのプロパティを列挙するにはどうすればよいですか?

私がこのようなjavascriptオブジェクトを持っている場合:

data = {
    a : 2,
    b : 3
}

ただし、aとbは任意であり、実行時に決定されます。キーを知らなくても、オブジェクトを調べてすべてのプロパティにアクセスする方法はありますか?

4

2 に答える 2

32
data = {
    a : 2,
    b : 3
}

for(var propName in data) {
    if(data.hasOwnProperty(propName)) {
        var propValue = data[propName];
        // do something with each element here
    }
}
于 2012-09-10T02:19:13.653 に答える
3

まず、これはJSで一般的に知られているものではなく、Array通常はとして知られていObjectます。Arraysには値が含まれているだけです。

arr = [1, 2, 3, 4]

一方Object、s(「連想配列」)は名前を関連付けます:値のペア。

の値を反復処理するには、次Objectを使用しますfor...in

var object = { a: 'hello' }

for (var key in object) {
  if (object.hasOwnProperty(key)) {
    alert(key); // 'a'
    alert(object[key]); // 'hello'
  }
}   

hasOwnPropertyプロトタイプに属するプロパティではなく、実際のオブジェクトのみを表示するようにすることが重要です。

于 2012-09-10T02:23:23.030 に答える