На прошлом уроке мы изучили условия и циклы. Теперь — массивы (упорядоченные списки данных) и объекты (коллекции «ключ–значение»). Оба типа часто встречаются при работе с DOM и данными с сервера.
for...of) и объекты (for...in).Массив — упорядоченный список значений. Элементы имеют индекс, начиная с нуля. Массивы нужны для списков пунктов, результатов, данных из форм.
const arr = [1, 2, 3];
arr.push(4);
arr.pop();
arr.length;
arr[0];arr[0] — первый элемент, arr[arr.length - 1] — последний.push(элемент) добавляет в конец и возвращает новую длину.pop() удаляет последний элемент и возвращает его значение.unshift(элемент) — добавить в начало, shift() — удалить первый.Другие полезные методы: indexOf(значение) — индекс элемента или -1; includes(значение) — есть ли элемент в массиве (true/false).
const names = ["Анна", "Борис", "Вика"];
names.push("Глеб");
console.log(names.length); // 4
console.log(names[2]); // "Вика"
console.log(names.indexOf("Борис")); // 1
console.log(for...of и for...inДля перебора массива по значениям используй for...of. Для перебора ключей объекта — for...in.
for (const item of arr) console.log(item);
for (const key in obj) console.log(key, obj[key]);for...of даёт каждый элемент массива (или строки) по очереди.for...in даёт каждый ключ объекта; значение получаем как obj[key].Объект — коллекция пар «ключ — значение». Подходит для описания сущности: пользователь, товар, настройки. Ключи — строки (часто без кавычек в коде), значения — любые типы.
const user = { name: "Анна", age: 14 };
user.name;
user["age"];
user.city = "Москва";user.name, когда ключ известен при написании кода.user["age"] или user[переменная], когда ключ хранится в переменной или содержит пробелы/спецсимволы.user.city = "Москва" — свойство создаётся или обновляется.const product = { title: "Книга", price: 350, inStock: true };
console.log(product.title); // "Книга"
console.log(product["price"]); // 350
const key = "inStock";
console.log(product[key]); // trueМассивы и объекты — основные структуры данных в JS. На следующем уроке — работа с DOM.
let b = a — это ссылка, изменение b меняет a (нужен spread: [...a]).push() новый массив — метод возвращает новую длину, а не массив.obj.key с переменной — нужны скобки: obj[variable].for...of (значения) и for...in (ключи) — для массивов обычно for...of.Создай массив из 5 имён. Выведи первое и последнее. Добавь имя через push. Удали последнее через pop.
Массив чисел. Циклом for найди максимальное значение.
Создай объект «книга» с полями: title, author, year. Выведи значения. Добавь поле genre.
Массив объектов (2–3 «студента» с name, grade). Выведи имена и оценки через цикл.
Массив чисел. Без sort() найди два наименьших числа.