Свойства и объекты JavaScript могут сбить с толку новичков. Чтобы упростить понимание, вот несколько примеров того, как получить доступ к ключам и значениям объекта в JavaScript. Мы рассмотрим следующие темы:

  1. доступ к свойствам объекта простого объекта с использованием записи через точку и цикла for
  2. доступ к свойствам сложного объекта внутри массива
  3. доступ к свойствам сложного объекта
  4. работа с вложенными объектами
  5. работа с массивами объектов

1. Доступ к свойствам объекта: основы

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

Мы можем получить доступ к свойствам объекта, используя запись через точку:

Или мы можем получить доступ к свойствам и значениям объекта, используя цикл for:

Есть много других способов перебора ключа и значений объекта. Подробнее здесь.

2. Доступ к свойствам объекта внутри массива

Давайте посмотрим на один «сложный» объект, находящийся внутри массива. Объект myMusic содержит массив (значения «форматов»), что не редкость в JavaScript. В конце этого блога мы увидим пример этого и расскажем, как вы можете получить доступ к отдельным значениям массива. А пока давайте посмотрим, как мы можем получить доступ к различным свойствам этого объекта. Вот объект внутри массива myMusic:

Во-первых, давайте попробуем использовать запись через точку:

Нам нужно использовать скобки и порядковый номер для доступа к объекту внутри массива. Без них вы получите сообщение console.log() undefined.

Теперь давайте попробуем использовать простой цикл for для доступа к свойствам и значениям внутри объекта массива. Этот базовый цикл for выводит содержимое всего объекта, поэтому все свойства и значения:

Есть много способов получить доступ к ключам и значениям одного или нескольких объектов внутри массива. Вот ссылка на ресурс с дополнительной информацией. Ниже приведен пример, в котором используется цикл for each, отображающий только значения объекта внутри массива:

3. Доступ к свойствам сложного объекта

Давайте посмотрим, что произойдет, если мы будем работать непосредственно с объектом, а не с объектом внутри массива. Теперь у нас есть этот начальный код, в котором используется тот же пример кода, что и раньше, но без скобок:

Теперь мы можем напрямую обращаться к свойствам объекта, используя запись через точку. Нам больше не нужно использовать порядковый номер в скобках для доступа к объекту. Вот как выглядит точечная нотация:

Использование цикла for выглядит следующим образом:

Опять же, нам не нужно использовать запись в квадратных скобках, поскольку мы обращаемся к объекту напрямую. Вы можете распечатать только ключи или значения, изменив оператор console.log и удалив «ключ» или «значение».

4. Работа с вложенными объектами

Ниже приведен пример вложенного объекта. «внутри» и «снаружи» — это два вложенных объекта внутри объекта «автомобиль».

Простой цикл for… in возвращает содержимое всех трех объектов:

Используя запись через точку, вы можете получить доступ к содержимому «внутреннего» объекта:

Однако для доступа к ключам и значениям вы используете запись в квадратных скобках:

Вот объект, который содержит два объекта с массивами внутри них:

Myplants — это массив, содержащий два объекта. Вот как вы используете нотацию скобок для доступа к массиву, который является значением, содержащимся в ключе списка второго объекта:

Доступ к отдельным элементам того же массива осуществляется следующим образом:

5. Работа с массивом объектов

Вот массив объектов. Давайте посмотрим, как мы можем получить доступ к различным свойствам объекта и их значениям.

К настоящему моменту должно быть ясно, что мы можем использовать скобки для выбора отдельных объектов и использовать запись через точку для доступа к отдельным свойствам выбранного объекта, например:

Объект «Шерлок Холмс» содержит ключ «лайки». Вот как мы можем получить доступ ко второму элементу этого массива (со значением «Скрипка»):

С помощью простого цикла for мы можем вывести значение числового свойства, если оно удовлетворяет условию. Предположим, мы хотим напечатать значение, относящееся к «числовому» ключу Шерлока Холмса. Мы настраиваем цикл for и оператор if следующим образом и используем оператор console.log() для вывода соответствующего числа на консоль:

Подведение итогов

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