可能重复:
访问对象的第一个属性
我有一个javascript对象,如下所示:
var list = {
item1: "a",
item2: "b",
item3: "c",
item4: "d"
};
使用JS中的反射,我可以说list["item1"]以编程方式获取或设置每个成员,但我不想依赖于成员的名称(对象可能会被扩展(。所以我想要得到这个对象的第一个成员。
如果我写下面的代码,它会返回undefined。有人知道怎么做吗?
var first = list[0]; // this returns undefined
for(var key in obj) break;
// "key" is the first key here
var list = {
item1: "a",
item2: "b",
item3: "c",
item4: "d"
};
相当于
var list = {
item2: "b",
item1: "a",
item3: "c",
item4: "d"
};
所以没有第一个元素。若你们想要第一个元素,你们应该使用数组。
即使JavaScript的某些实现使用列表来生成对象,它们也应该是无序的映射。
所以没有第一个。
如何循环或枚举JavaScript对象?
您可以使用以下方法来获得所需的密钥。
for (var key in p) {
if (p.hasOwnProperty(key)) {
alert(key + " -> " + p[key]);
}
}
如果要以索引方式访问元素,则需要使用数组。