获取对象的第一个索引

2022-08-30 01:17:49

考虑:

var object = {
  foo: {},
  bar: {},
  baz: {}
}

我该怎么做:

var first = object[0];
console.log(first);

显然,这不起作用,因为第一个索引被命名为 ,而不是 。foo0

console.log(object['foo']);

作品,但我不知道它的名字是foo。它可以被命名为任何东西。我只想要第一个。


答案 1

只是为了好玩,这适用于JS 1.8.5

var obj = {a: 1, b: 2, c: 3};
Object.keys(obj)[0]; // "a"

这与您看到的相同顺序相匹配

for (o in obj) { ... }

答案 2

如果你想要一些简洁的东西,试试:

for (first in obj) break;

alert(first);

包装为函数:

function first(obj) {
    for (var a in obj) return a;
}