Методы массивов JS нужны, чтобы работать со списками данных: добавить элемент, удалить элемент, найти объект, отфильтровать строки, преобразовать массив карточек, посчитать сумму. Новичку не обязательно учить все методы сразу. Достаточно понять группы: изменение массива, поиск, фильтрация, преобразование и расчет результата
Добавить и удалить элементы
push добавляет элемент в конец массива, pop удаляет последний элемент. unshift добавляет в начало, shift удаляет первый элемент
const tasks = ["Позвонить клиенту", "Отправить счет"];
tasks.push("Проверить оплату");
console.log(tasks);
const lastTask = tasks.pop();
console.log(lastTask);
Эти методы изменяют исходный массив. Это нормально в простом скрипте, но в интерфейсах и фреймворках часто удобнее создавать новый массив, чтобы состояние обновлялось предсказуемо
Найти элемент в массиве
find возвращает первый подходящий элемент, findIndex возвращает его индекс, includes проверяет наличие простого значения
const users = [
{ id: 1, name: "Динар" },
{ id: 2, name: "Анна" }
];
const user = users.find((item) => item.id === 2);
console.log(user.name);
Если нужно найти объект по id, используйте find. Если нужно проверить, есть ли строка в списке, используйте includes
const roles = ["admin", "editor", "viewer"];
if (roles.includes("admin")) {
console.log("Есть доступ");
}
Отфильтровать список
filter возвращает новый массив только с теми элементами, которые прошли условие
const orders = [
{ id: 1, status: "new", total: 1200 },
{ id: 2, status: "paid", total: 3400 },
{ id: 3, status: "paid", total: 900 }
];
const paidOrders = orders.filter((order) => order.status === "paid");
console.log(paidOrders);
filter не меняет исходный массив. Это удобно для поиска, каталогов, таблиц, списков заявок и интерфейсов с фильтрами
Преобразовать элементы
map создает новый массив, где каждый элемент преобразован по вашему правилу
const prices = [1000, 2500, 4000];
const labels = prices.map((price) => `${price} ₽`);
console.log(labels);
В веб-интерфейсе map часто используют, чтобы превратить данные в HTML-строки или компоненты. Но если вы создаете DOM-элементы вручную, аккуратнее использовать forEach, потому что map должен возвращать новый массив, а не просто выполнять действие
Проверить условия
some отвечает на вопрос «есть ли хотя бы один подходящий элемент». every проверяет, подходят ли все элементы
const cart = [
{ title: "Курс", paid: true },
{ title: "Консультация", paid: false }
];
const hasUnpaid = cart.some((item) => !item.paid);
const allPaid = cart.every((item) => item.paid);
Эти методы хороши для проверок: есть ли ошибка, все ли поля заполнены, есть ли товар в корзине, все ли задачи завершены
Посчитать итог через reduce
reduce сворачивает массив в одно значение: сумму, объект, карту, строку, статистику
const ordersTotal = orders.reduce((sum, order) => {
return sum + order.total;
}, 0);
console.log(ordersTotal);
Второй аргумент 0 — начальное значение. Его лучше не пропускать, особенно когда массив может быть пустым
slice, splice и sort
slice возвращает часть массива и не меняет оригинал. splice удаляет или вставляет элементы и меняет исходный массив. sort сортирует массив на месте, поэтому с ним нужно быть внимательным
const numbers = [10, 2, 30];
numbers.sort((a, b) => a - b);
console.log(numbers);
Без функции сравнения числа сортируются как строки, поэтому результат может удивить
Как выбрать метод
Если нужно пройтись и выполнить действие — forEach. Если нужен новый массив такой же длины — map. Если нужен новый массив короче — filter. Если нужен один найденный элемент — find. Если нужен итог — reduce. Если нужна проверка — some или every
Мини-задача: создайте массив заказов с полями id, status, total. Отфильтруйте оплаченные заказы, получите массив сумм через map, посчитайте общий итог через reduce и проверьте через some, есть ли заказ меньше 1000 рублей
Что почитать дальше по JavaScript
- JavaScript с нуля: меняем текст на странице по клику
- if else в JavaScript: условия на живых примерах
- ООП в JavaScript без академического тумана
- Рубрика Java Script
Что почитать дальше по JavaScript
Если нужен общий маршрут по теме, откройте рубрику JavaScript. Для соседних задач пригодятся эти разборы:
- JS array: массивы в JavaScript простыми примерами
- Переменные в JS: let, const и var простыми примерами
- A JavaScript error occurred in the main process: как исправить
- A JavaScript error occurred in the main process: причины и исправление



