06. Массивы и объекты
Что такое массив
Массив — это упорядоченный список значений. Он позволяет хранить много данных под одним именем.Массив — это как коробка с ячейками: у каждой есть свой номер (индекс), и в каждой хранится что-то своё.
Создание массива
let fruits = ['яблоко', 'банан', 'груша'];
console.log(fruits);
Доступ к элементам
console.log(fruits[0]); // яблоко
console.log(fruits[1]); // банан
Индексация начинается с 0, то есть первый элемент — с индексом 0.
Изменение элементов
fruits[1] = 'апельсин';
console.log(fruits); // ['яблоко', 'апельсин', 'груша']
Добавление и удаление элементов
- push() — добавить в конец
- pop() — удалить с конца
- unshift() — добавить в начало
- shift() — удалить из начала
let animals = ['кот', 'собака'];
animals.push('попугай'); // ['кот', 'собака', 'попугай']
animals.pop(); // ['кот', 'собака']
animals.unshift('тигр'); // ['тигр', 'кот', 'собака']
animals.shift(); // ['кот', 'собака']
Перебор массива
let numbers = [10, 20, 30];
for (let i = 0; i < numbers.length; i++) {
console.log(numbers[i]);
}
А с помощью метода forEach():
numbers.forEach(function(num, index) {
console.log(index + ': ' + num);
});
Методы массивов
Массивы имеют десятки удобных методов. Вот самые популярные:- map() — создаёт новый массив, применяя функцию к каждому элементу
- filter() — фильтрует элементы по условию
- find() — находит первый элемент, подходящий под условие
- includes() — проверяет, есть ли значение в массиве
let nums = [1, 2, 3, 4, 5];
let doubled = nums.map(n => n * 2);
console.log(doubled); // [2, 4, 6, 8, 10]let even = nums.filter(n => n % 2 === 0);
console.log(even); // [2, 4]
console.log(nums.includes(3)); // true
Что такое объект
Объект — это набор свойств, где каждое свойство имеет ключ (имя) и значение.Если массив — это список, то объект — это словарь, где у каждого слова есть значение.
Создание объекта
let user = {
name: 'Анна',
age: 25,
city: 'Москва'
};
Доступ к свойствам
console.log(user.name); // Анна
console.log(user['age']); // 25
Изменение и добавление свойств
user.age = 26;
user.email = 'anna@mail.com';
console.log(user);
Удаление свойства
delete user.city;
console.log(user);
Вложенные объекты и массивы
JavaScript позволяет создавать сложные структуры данных.
let company = {
name: 'TechCorp',
employees: [
{ name: 'Анна', role: 'разработчик' },
{ name: 'Иван', role: 'дизайнер' }
],
address: {
city: 'Москва',
street: 'Ленина, 10'
}
};console.log(company.employees[0].name); // Анна
console.log(company.address.city); // Москва
Перебор объектов
Чтобы пройтись по всем ключам объекта, используют цикл for...in.
let car = { brand: 'Toyota', model: 'Camry', year: 2023 };
for (let key in car) {
console.log(key + ': ' + car[key]);
}
Сравнение массивов и объектов
- Массив — это список элементов по порядку (индексы: 0, 1, 2...)
- Объект — это набор свойств (ключ: значение)
- Оба могут содержать любые типы данных, включая другие массивы и объекты
Мини-практика
- Создайте массив с тремя вашими любимыми фильмами и выведите их по одному.
- Создайте объект `book` с полями: title, author, year и добавьте метод `info()`, который выводит полное описание.
- Создайте массив объектов пользователей и выведите имена всех, кто старше 18.
Пример решения
let book = {
title: '1984',
author: 'Джордж Оруэлл',
year: 1949,
info: function() {
console.log(`${this.title} (${this.year}) — автор: ${this.author}`);
}
};book.info();
let users = [
{ name: 'Анна', age: 17 },
{ name: 'Иван', age: 22 },
{ name: 'Мария', age: 19 }
];
users.forEach(u => {
if (u.age > 18) console.log(u.name);
});
Советы новичкам
- Для коллекций с порядком — используйте массивы.
- Для описания сущностей с именованными свойствами — используйте объекты.
- Не бойтесь комбинировать: объект внутри массива и наоборот — это нормально!
- Методы `map`, `filter`, `forEach` — ваши лучшие друзья для работы с массивами.
Итоги урока
Теперь вы знаете:- Что такое массивы и как с ними работать.
- Как добавлять, изменять и удалять элементы.
- Что такое объект и как обращаться к его свойствам.
- Как комбинировать данные и строить сложные структуры.