如何在javascript中获取对象的第一个成员

时间:2011-09-25 11:29:04

标签: javascript reflection

  

可能重复:
  Access the first property of an object

我有一个像这样的javascript对象:

var list = {
    item1: "a",
    item2: "b",
    item3: "c",
    item4: "d"
};

在JS中使用反射,我可以说list [“item1”]以编程方式获取或设置每个成员,但我不想依赖于成员的名称(对象可能被扩展)。所以我想获得此对象的第一个成员

如果我编写以下代码,则返回undefined。有谁知道如何做到这一点?

var first = list[0]; // this returns undefined

4 个答案:

答案 0 :(得分:39)

 for(var key in obj) break;
 // "key" is the first key here

答案 1 :(得分:10)

var list = {
    item1: "a",
    item2: "b",
    item3: "c",
    item4: "d"
};

相当于

var list = {
    item2: "b",
    item1: "a",
    item3: "c",
    item4: "d"
};

所以没有第一个元素。 如果你想要第一个元素,你应该使用数组。

答案 2 :(得分:2)

尽管JavaScript的某些实现使用列表来创建对象,但它们应该是无序映射。

所以没有第一个。

答案 3 :(得分:0)

How do I loop through or enumerate a JavaScript object?

您可以使用以下方法获取所需的密钥。

for (var key in p) {
  if (p.hasOwnProperty(key)) {
    alert(key + " -> " + p[key]);
  }
}

如果要以索引方式访问元素,则需要使用数组。