Как получить первую свойство объекта в 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), вы получите их в некотором порядке, но этот порядок может измениться в будущем (особенно если вы добавите или удалите другие ключи).
Преобразование объекта JS в строку JSON
Как проверить наличие ключа в объекте JavaScript?
Как удалить все дубликаты из массива объектов?
Как получить подмножество свойств объекта JavaScript?
Какова разница между `throw new Error` и `throw someObject`?