Как получить первую свойство объекта в JavaScript?
Существует ли элегантный способ получить первый параметр объекта...
- когда вы не знаете имена его свойств
- без использования цикла, такого как
for .. in
или jQuery's$.each
Например, мне нужно получить доступ к объекту foo1
, не зная его имени:
var example = {
foo1: { /* данные1 */},
foo2: { /* данные2 */},
foo3: { /* данные3 */}
};
5 ответ(ов)
Конечно! Вот перевод ответа в стиле StackOverflow:
var obj = { first: 'someVal' };
obj[Object.keys(obj)[0]]; // возвращает 'someVal'
Object.values(obj)[0]; // возвращает 'someVal'
С помощью этого способа вы также можете получить доступ к другим свойствам по индексам. Однако будьте осторожны! Порядок возврата Object.keys
или Object.values
не гарантирован в соответствии с спецификацией ECMAScript, хотя на практике он обычно соблюдается всеми основными браузерами. Для получения более подробной информации прочитайте это.
Вы также можете сделать Object.values(example)[0]
.
Вы можете использовать Object.values() для получения значений объекта:
var obj = { first: 'someVal' };
Object.values(obj)[0]; // 'someVal'
В данном примере метод Object.values()
возвращает массив значений объекта obj
, и мы берем первое значение с помощью индекса [0]
, что в итоге дает 'someVal'
.
Вы можете использовать следующую однострочную версию кода для получения значения из объекта example
по первому ключу:
var val = example[Object.keys(example)[0]];
Этот код использует метод Object.keys()
, чтобы получить массив ключей объекта example
, и затем обращается к первому элементу этого массива для получения соответствующего значения.
В JavaScript нет свойства "первое". Ключи объектов неупорядочены.
Если вы переберёте их с помощью цикла for (var foo in bar)
, вы получите их в некотором порядке, но этот порядок может измениться в будущем (особенно если вы добавите или удалите другие ключи).
Как удалить свойство из объекта JavaScript?
Преобразование объекта JS в строку JSON
Как получить доступ к вложенным объектам, массивам или JSON и обработать их?
Как удалить все дубликаты из массива объектов?
Почему null является объектом и в чем разница между null и undefined?