Как получить доступ к первому свойству объекта в Javascript?

Аннотировать свойство с помощью @Column и определить тип, который будет ArrayList, а не только List. И сделайте Person реализовать Serializable.

Но вы должны сделать это, только если ваши мотивы очень ясны, потому что это правильное решение в некоторых очень редких случаях. Как заметил Паскаль, если вам когда-либо придется менять Person, у вас будут головные боли.

526
задан Flip 26 October 2017 в 13:31
поделиться

6 ответов

Используйте массив вместо объекта (квадратные скобки).

var example = [ {/* stuff1 */}, { /* stuff2 */}, { /* stuff3 */}];
var fist = example[0];

Обратите внимание, что вы теряете идентификаторы 'foo'. Но вы можете добавить свойство name к содержащимся в нем объектам:

var example = [ 
  {name: 'foo1', /* stuff1 */},
  {name: 'foo2', /* stuff2 */},
  {name: 'foo3', /* stuff3 */}
];
var whatWasFirst = example[0].name;
0
ответ дан 22 November 2019 в 22:11
поделиться

Если вам нужно получить доступ к «первому свойству объекта», он может означать, что что-то не так с вашей логикой. Порядок свойств объекта не имеет значения.

0
ответ дан 22 November 2019 в 22:11
поделиться

There isn't a "first" property. Object keys are unordered.

If you loop over them with for (var foo in bar) you will get them in some order, but it may change in future (especially if you add or remove other keys).

22
ответ дан 22 November 2019 в 22:11
поделиться

Это уже рассматривалось здесь ранее.

Концепция first не применяется к свойствам объекта, и порядок цикла for ... in не гарантируется спецификациями, однако на практике это надежный FIFO , за исключением , критически важного для хрома ( отчет об ошибке ). Принимайте соответствующие решения.

3
ответ дан 22 November 2019 в 22:11
поделиться

Попробуйте выполнить for… in loop и прервите его после первой итерации:

for (var prop in object) {
    // object[prop]
    break;
}
108
ответ дан 22 November 2019 в 22:11
поделиться

Нет. Литерал объекта, как определено в MDC , представляет собой:

список из нуля или более пар имен свойств и связанных значений объекта, заключенных в фигурные скобки ({}).

Следовательно, литерал объекта не является массивом, и вы можете получить доступ к свойствам, только используя их явное имя или цикл for , используя ключевое слово in .

9
ответ дан 22 November 2019 в 22:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: