3. Mассивы

Определение массива

const items = []; // Создание пустого массива

const animals = ['cats', 'dogs', 'birds'];// Создание массива с тремя элементами

animals.length; // 3, длина массива
animals.toLowerCase(); // перевод в нижний регистр элементов массива
animals.toUpperCase(); // перевод в верхний регистр элементов массива

Метод push() добавляет элемент в конец массива: animals.push(‘horses’);

Метод array.unshift() добавляет элемент в начало массива: animals.unshift(‘horses’);

Удалить элемент из массива можно с помощью специальной конструкции delete: delete arr[index]. После такого удаления, можно с удивлением заметить, что размер массива не изменяется.

Обращение по несуществующему индексу массива возвращает значение undefined.

Переменные (и константы) в JavaScript могут хранить два вида данных: примитивные и ссылочные. К примитивным относятся все примитивные типы: числа, строки, булеан и так далее. К ссылочным – объекты. Массив является объектом.

Метод .pop извлекает последний элемент из массива и удаляет его.

Метод reverse() – обратный порядок элементов

Метод sort() — сортировка

Некоторые методы изменяют исходный массив, а некоторые возвращают  новый. Например, метод concat() возвращает новый массив.

Агрегацией называются любые вычисления, которые, как правило, строятся на основе всего набора данных, например, поиск максимального, среднего, суммы и так далее. 

for…of – перебирает строку посимвольно, массив по элементам

for (const symbol of greeting) {
  console.log(symbol);
}

Удаление элементов из массива

Инструкция delete лишь очищает значение, но сама ячейка никуда не девается

break производит выход из цикла.

Стекпозволяет пропустить итерацию цикла.

parts.join(»); — преобразовать массив в строку с разделителем указанным в скобках

методом строки split(), который разделяет строку на массив по разделителю, указанному в скобках

arr.includes(el) – массив arr содержит элемент el

 метод flat() – выпрямляет массив, убирая вложенность

 [[3, 2], 5, 3, [3, 4, 2], 10].flat();  // [3, 2, 5, 3, 3, 4, 2, 10]

Множества

_.intersection(friends1, friends2); //пересечение
_.union(friends1, friends2); // объединение
_.difference(friends1, friends2); // дополнение (библиотека logash)

Стек

Работа со стеком включает в себя следующие операции:

  • Добавить в стек (push)
  • Взять из стека, удалив (pop)
  • Вернуть элемент с вершины стека без удаления (peek)
  • Проверить на пустоту (isEmpty)
  • Вернуть размер (size)

Деструктуризация (destructuring) – синтаксическая возможность «раскладывать» элементы массива (и не только) в отдельные константы или переменные. 

const [firstElement, secondElement, thirdElement = 3] = [1, 2];

REST

const [first, ...rest] = fruits;
console.log(first); // 'apple'
console.log(rest); // ['orange', 'banana', 'pineapple']

SPREAD

spread-оператор — оператор имеет такой же синтаксис, но выполняет противоположную задачу. Он не сворачивает элементы, а наоборот, растягивает их. С его помощью обычно копируют или сливают массивы.

Rest-оператор появляется слева от знака равно, там, где происходит деструктуризация. Spread-оператор – справа от знака равно, там где массив формируется.

Spread-оператор, в отличии от rest-оператора может появляться в любой части массива. 

Массивы в JavaScript содержат не сами данные, а ссылки (адреса в памяти) на них. Тогда становится не важно, что хранить. Любое значение в массиве – адрес, имеющий одинаковый размер независимо от данных, на которые он указывает. Такой подход делает массивы гибкими, но с другой стороны, более медленными.

You may also like...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *