Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Методы массивов

Массив редко остаётся неизменным: в корзину добавляют товары, из очереди забирают задачи. Для этого у массивов есть встроенные методы. Метод — это функция, которая принадлежит значению и вызывается через точку: colors.push().

push и pop

push() добавляет элемент в конец массива, а pop() удаляет последний элемент и возвращает его:

const cart = ['хлеб', 'молоко'];
 
cart.push('сыр');
 
console.log(cart.join(', ')); // хлеб, молоко, сыр
const cart = ['хлеб', 'молоко', 'сыр'];
 
const last = cart.pop();
 
console.log(last);            // сыр
console.log(cart.join(', ')); // хлеб, молоко

unshift и shift

Те же действия с началом массива выполняют unshift() — добавить в начало — и shift() — убрать первый элемент:

const queue = ['Анна', 'Олег'];
 
queue.unshift('Ира');
const first = queue.shift();
 
console.log(first);            // Ира
console.log(queue.join(', ')); // Анна, Олег

Так устроена очередь: новые встают в конец через push(), а обслуживают первого через shift().

slice — копия части

slice(начало, конец) возвращает новый массив из элементов с индекса «начало» до индекса «конец», не включая его. Исходный массив не меняется:

const letters = ['a', 'b', 'c', 'd', 'e'];
 
console.log(letters.slice(1, 3).join(', ')); // b, c
console.log(letters.slice(-2).join(', '));   // d, e
console.log(letters.length);                 // 5

Без аргументов slice() создаёт копию всего массива.

splice — удаление и вставка

splice(начало, сколько) удаляет элементы прямо из массива. После количества можно перечислить элементы, которые встанут на место удалённых:

const letters = ['a', 'b', 'c', 'd'];
 
letters.splice(1, 2, 'X');
 
console.log(letters.join(', ')); // a, X, d

concat и join

concat() соединяет массивы в новый, а join() превращает массив в строку:

const fruits = ['яблоко', 'груша'];
const berries = ['малина'];
 
const all = fruits.concat(berries);
 
console.log(all.join(' + ')); // яблоко + груша + малина
МетодЧто делаетМеняет массив
push() / pop()добавляет / убирает в концеда
unshift() / shift()добавляет / убирает в началеда
splice()удаляет и вставляетда
slice()копирует частьнет
concat()соединяет массивынет

Частая ошибка

Названия slice и splice похожи, и их легко перепутать. slice() безопасен — он только копирует, а splice() вырезает элементы из исходного массива:

const numbers = [1, 2, 3, 4];
 
numbers.splice(0, 2);
 
console.log(numbers.join(', ')); // 3, 4

Если исходный массив ещё понадобится, берите slice().

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.