9

Как получить первую свойство объекта в JavaScript?

4

Существует ли элегантный способ получить первый параметр объекта...

  1. когда вы не знаете имена его свойств
  2. без использования цикла, такого как for .. in или jQuery's $.each

Например, мне нужно получить доступ к объекту foo1, не зная его имени:

var example = {
    foo1: { /* данные1 */},
    foo2: { /* данные2 */},
    foo3: { /* данные3 */}
};

5 ответ(ов)

19

Конечно! Вот перевод ответа в стиле StackOverflow:

var obj = { first: 'someVal' };
obj[Object.keys(obj)[0]]; // возвращает 'someVal'

Object.values(obj)[0]; // возвращает 'someVal'

С помощью этого способа вы также можете получить доступ к другим свойствам по индексам. Однако будьте осторожны! Порядок возврата Object.keys или Object.values не гарантирован в соответствии с спецификацией ECMAScript, хотя на практике он обычно соблюдается всеми основными браузерами. Для получения более подробной информации прочитайте это.

1

Вы также можете сделать Object.values(example)[0].

0

Вы можете использовать Object.values() для получения значений объекта:

var obj = { first: 'someVal' };
Object.values(obj)[0]; // 'someVal'

В данном примере метод Object.values() возвращает массив значений объекта obj, и мы берем первое значение с помощью индекса [0], что в итоге дает 'someVal'.

0

Вы можете использовать следующую однострочную версию кода для получения значения из объекта example по первому ключу:

var val = example[Object.keys(example)[0]];

Этот код использует метод Object.keys(), чтобы получить массив ключей объекта example, и затем обращается к первому элементу этого массива для получения соответствующего значения.

0

В JavaScript нет свойства "первое". Ключи объектов неупорядочены.

Если вы переберёте их с помощью цикла for (var foo in bar), вы получите их в некотором порядке, но этот порядок может измениться в будущем (особенно если вы добавите или удалите другие ключи).

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь