Массивы объектов
В зоомагазине не одно животное. Когда у вас много объектов одного вида, кладите их в массив. Массивы объектов — одна из самых частых вещей в программировании: товары в интернет-магазине, сообщения в чате или книги в библиотеке хранятся именно так.
const pets = [
{ name: "Рекс", species: "собака", age: 3 },
{ name: "Белла", species: "кошка", age: 2 },
{ name: "Киви", species: "попугай", age: 4 }
];
console.log(pets);[{ name: "Рекс", species: "собака", age: 3 }, { name: "Белла", species: "кошка", age: 2 }, { name: "Киви", species: "попугай", age: 4 }]Каждый элемент массива — один объект, а объекты разделяются запятыми, как любые другие элементы. Чтобы добраться до свойства одного питомца, сначала выберите элемент по индексу, а затем свойство через точку:
console.log(pets[1]);
console.log(pets[1].name);{ name: "Белла", species: "кошка", age: 2 }
БеллаЧитайте pets[1].name слева направо: из pets возьмите элемент с индексом 1 (объект Беллы), а из него — свойство name.
Всё, что вы знаете о массивах и объектах, по-прежнему работает. pets.length — это количество питомцев, push() добавляет нового питомца в конец, а свойство одного питомца можно изменить:
pets.push({ name: "Коко", species: "кролик", age: 1 });
pets[0].age = 4;
console.log(pets.length);
console.log(pets[0]);4
{ name: "Рекс", species: "собака", age: 4 }Типичные ошибки:
pets.nameдаётundefined. У самого массива нет имени, оно есть только у питомцев в нём. Сначала выберите питомца:pets[0].name.- Индекс, которого нет в массиве, например
pets[10].name.pets[10]— этоundefined, а уundefinedнет свойств, поэтому программа завершается сTypeError: Cannot read properties of undefined (reading 'name').
Задание
- 1
Выведите вид третьего питомца, Киви. В консоли должно появиться
попугай. - 2
Прибыл кролик. Добавьте его в конец массива через
push():{ name: "Коко", species: "кролик", age: 1 }. - 3
Выведите весь массив
pets. Коко теперь должен быть в конце.