Перейти до основного вмісту

Масив об'єктів

Стандартний набір повсякденних завдань розробника містить маніпуляцію масивом однотипних об'єктів. Це означає, що всі об'єкти в масиві гарантовано матимуть однаковий набір властивостей, але з різними значеннями.

const books = [
{
title: "The Last Kingdom",
author: "Bernard Cornwell",
rating: 8.38,
},
{
title: "На березі спокійних вод",
author: "Роберт Шеклі",
rating: 8.51,
},
{
title: "Сон смішної людини",
author: "Федір Достоєвський",
rating: 7.75,
},
];

Для перебирання такого масиву використовується стандартний цикл for...of. Значення властивостей кожного об'єкта можна отримати, використовуючи синтаксис «через крапку», оскільки в кожному об'єкті набір властивостей та їх імена будуть однакові, відрізняються тільки значення.

for (const book of books) {
// Об'єкт книги
console.log(book);
// Назва
console.log(book.title);
// Автор
console.log(book.author);
// Рейтинг
console.log(book.rating);
}

Наприклад, отримаємо список назв усіх книг в колекції books.

const bookNames = [];

for (const book of books) {
bookNames.push(book.title);
}

console.log(bookNames); // ["The Last Kingdom", "На березі спокійних вод", "Сон смішної людини"]

Дізнаємося середній рейтинг усієї нашої колекції. Для цього, додамо усі рейтинги, після чого поділимо це значення на кількість книг в колекції.

let totalRating = 0;

for (const book of books) {
totalRating += book.rating;
}

const averageRating = (totalRating / books.length).toFixed(1);
console.log(averageRating); // 8.2