치다:
var object = {
foo: {},
bar: {},
baz: {}
}
어떻게해야합니까 :
var first = object[0];
console.log(first);
첫 번째 색인의 이름이 아닌이므로 작동하지 foo
않습니다 0
.
console.log(object['foo']);
작동하지만 foo라는 이름을 모르겠습니다. 그것은 무엇이든 지명 될 수 있습니다. 나는 단지 첫 번째를 원한다.
답변
객체의 순서가 중요한 경우 객체를 배열에 저장하도록 JSON 스키마를 수정해야합니다.
[
{"name":"foo", ...},
{"name":"bar", ...},
{"name":"baz", ...}
]
또는 아마도 :
[
["foo", {}],
["bar", {}],
["baz", {}]
]
Ben Alpert가 지적했듯이 Javascript 객체의 속성은 정렬되지 않으며 객체 리터럴에 지정된 순서대로 열거 할 것으로 예상되면 코드가 손상됩니다. “첫 번째”속성은 없습니다.
답변
재미를 위해 이것은 JS 1.8.5에서 작동합니다.
var obj = {a: 1, b: 2, c: 3};
Object.keys(obj)[0]; // "a"
이것은 당신이하는 것과 동일한 순서와 일치합니다
for (o in obj) { ... }
답변
간결한 것을 원하면 다음을 시도하십시오.
for (first in obj) break;
alert(first);
함수로 감싸서 :
function first(obj) {
for (var a in obj) return a;
}
답변
그들은 실제로 주문 되지 는 않지만 할 수 있습니다 :
var first;
for (var i in obj) {
if (obj.hasOwnProperty(i) && typeof(i) !== 'function') {
first = obj[i];
break;
}
}
.hasOwnProperty()
프로토 타입 객체를 무시 하는 것이 중요합니다.
답변
이것은 자바 스크립트 객체가 정렬되지 않았으므로 첫 번째 것을 제공하지는 않지만 경우에 따라 괜찮습니다.
myObject[Object.keys(myObject)[0]]
답변
사용할 수있는 객체의 첫 번째 키
console.log(Object.keys(object)[0]);//print key's name
가치를 위해
console.log(object[Object.keys(object)[0]]);//print key's value
답변
JavaScript에서 “해시”(객체)에 정렬되지 않은 속성이있는 것처럼 보이는 첫 번째 요소를 얻는 방법은 없습니다. 가장 좋은 방법은 키를 배열에 저장하는 것입니다.
var keys = ["foo", "bar", "baz"];
그런 다음 적절한 값을 얻으려면 이것을 사용하십시오.
object[keys[0]]