2015-02-13 6 views
-1

Я новичок в JavaScript, и я немного застрял на нем. Скажем, у меня есть объект внутри массива внутри объекта, например, так:Как получить доступ к этому атрибуту

  var myCrazyObject = { "name": "A ridiculous object", "some array": [7, 9, { purpose: "confusion", number: 123 }, 3.3], "random animal": "Banana Shark"}; 

Теперь я знаю, что я могу получить доступ к «некоторый массив» атрибут таким образом: myCrazyObject [ «некоторый массив»] Итак, часть, на которую я застрял, - как мне получить доступ к атрибутам цели или номера?

ответ

2

Это третий элемент в массиве, так что вы можете получить доступ к нему по индексу:

myCrazyObject["some array"][2].purpose 

или, если вы предпочитаете эквивалент:

myCrazyObject["some array"][2]["purpose"] 

вернется "confusion". Очевидно, это довольно хрупкий материал. Обычно вы должны хранить элементы одного типа внутри массива, а не целые числа в начале, а затем еще один произвольный объект. Если по какой-то причине третий элемент в этом массиве не был объектом, вы получили бы ошибку. Поэтому вам нужно сделать правильную обработку ошибок здесь или исправить ваши данные, чтобы обеспечить определенную последовательность.

+0

Это правда, я на самом деле просто выполняю некоторые упражнения в этой книге. Поскольку я никогда раньше не работал с таким объектом, я не знал, что весь объект рассматривается как один индекс, в книге он не был так объяснен. Спасибо за это! –

+0

* «Я не знал, что весь объект был обработан как один индекс» * Это не (по крайней мере, если я правильно понял вас). 'myCrazyObject [" some array "]' возвращает массив и как вы получаете доступ к третьему элементу массива? С '[2]'. Итак, выполняете ли вы 'var arr = myCrazyObject [" некоторый массив "]; arr [2] 'или' myCrazyObject ["some array"] [2] 'не имеет значения. –

Смежные вопросы