Массивы
Массив – это объект, в котором можно хранить много значений. Он отличается от переменных, в которых можно хранить только одно значение.
Например:
Инициализация массивов
Инициализировать массив — значит сказать программе, что перед ней массив и с ним необходимо поработать.
Получение длины массива
Длина массива — это количество элементов в нем. Например, в массиве arr=[1, 2, 3]
— три элемента, а в массиве arr=[]
— ноль элементов.
Длину массива можно узнать через свойство length
. Синтаксис такой: arr.length
.
Например:
Проверка массива с использованием метода every()
Метод every()
используют для проверки всех элементов массива на соответствие условию.
Например:
В этом примере функция isBigEnough
возвращает true
, если все элементы (element
) массива больше или равны 10
. Если это условие не соблюдается хотя бы в одном элементе массива, функция возвращает false
.
Проверка массива с использованием метода some()
Метод some()
используют для проверки какого-либо одного элемента массива на соответствие условию.
Например:
В этом примере функция isBigEnough
возвращает false
, потому что в массиве нет ни одного элемента (element
) больше или равного 10
. Если в массиве есть хоть один подходящий элемент, функция возвращает true
.
Создание массива на основе существующего массива с использованием метода map()
Метод map()
создает новый массив c результатом вызова функции на основе существующего массива.
Например:
В примере с помощью метода map()
умножают каждый элемент массива numbers
на 2
и получают новый массив doubles
с другими значениями.
Фильтрация массива с помощью метода filter()
С помощью метода filter()
можно создать новый массив на основе имеющегося, но со значениями, которые соответствуют определенным условиям.
Например:
В примере метод filter()
оставляет в массиве filtered
элементы, которые больше или равны 10
.
Метод reduce()
Метод reduce()
применяют, чтобы вернуть какое-либо значение массива и совершить с ним любую операцию.
Возвращенное значение будет зависеть от операций с аргументами, которые мы передали функции. Вот эти аргументы:
previousValue
— предыдущее значение.currentValue
— текущее значение.index
— индекс текущего элемента массива.array
— сам массив.
Например:
В данном примере метод reduce()
вернет сумму текущего и предыдущего значений. В итоге возвращает число 11
.
Перебор массива с помощью метода forEach()
Метод for Each()
перебирает все элементы массива и совершает с каждым одно действие.
Например:
Перебор массива с использованием оператора for...of
Метод for…of
перебирает все элементы массива по их значению.
Например:
Перебор массива с использованием оператора for
Оператор перебора массива for
перебирает элементы массива по его индексу.
Например:
Метод @@iterator
Метод @@iterator
перебирает все элементы массива и проверяет значение элемента массива — value
и его наличие в массиве — done
. Если элемент есть, то done
принимает значение false
. Если массив закончился и элементов больше нет, то done
примет значение true
. А value
, в этом случае, примет значение undefined
.
Например:
Добавление элементов в конец массива
Чтобы добавить элемент в конец массива, используют метод push()
.
Например:
В примере в конец массива а
добавим элемент 4
. Получится массив a = [1,2,3,4]
.
Добавление элементов в начало массива
Чтобы добавить элемент в начало массива, используют метод unshift()
.
Например:
В примере в начало массива а
добавим элемент 4
. Получится массив a = [4,1,2,3]
.
Удаление элементов массива
Чтобы удалить элемент из конца массива, используют метод pop()
.
Например:
В примере в начало массива а добавим элемент 4. Получится массив a = [4,1,2,3]
.
Удаление элементов массива и вставка вместо них других элементов
Чтобы из массива удалить элементы и вставить на их место другие элементы используют метод splice()
.
В примере удаляем три элемента начиная с индекса 2
и на их место вставляем 'a'
, 'b'
. Получаем массив a=[ 1, 2, 'a', 'b', 6 ]
.
Объединение нескольких массивов
Объединять массивы и возвращать новый массив можно методом concat()
.
В примере массив a
и массив b
объединили с помощью метода concat()
и вернули новый массив c=[1,2,3,4]
.
Поиск элементов в массиве
Элементы в массиве можно искать с помощью следующих методов:
indexOf()
lastIndexOf()
find()
findIndex()
includes()
Найти элемент в массиве можно по индексу с помощью метода indexOf()
. Если по указанному индексу нет элемента, то возвращается -1
.
Например:
В примере в массиве a
ищут и выводят в консоль элемент с индексом [5]
и элемент с индексом [23]
. Под индексом [5]
нашли элемент 4
. А под индексом [23]
нет элементов, поэтому получаем -1
.
Метод lastIndexOf()
возвращает индекс последнего вхождения элементов в массив, если элемента нет, то возвращается -1
.
В примере в массиве a
ищем индекс элемента 1
— получаем [0]
. Элемента 23
в массиве нет, поэтому в консоли получаем -1
.
Метод find()
ищет элементы в массиве по передаваемой ему функции. Если функция возвращает true
, то метод возвращает первый найденный элемент.
Например:
В примере функция x
ищет элемент id
, который должен иметь значение my_id
. Если он находит my_id
в массиве, то возвращает этот элемент. Если элемента нет, то возвращается undefined
.
Метод findIndex()
возвращает индекс элемента, если элемента нет, то возвращается undefined
.
Например:
Метод includes()
ищет элемент массива и возвращает true
, если элемент есть, возвращает false
, если элемента нет. Методу можно передавать два значения — сам элемент и индекс.
Например:
В примере метод вернет false
, потому что на месте индекса [2]
нет элемента 1
. Элемент 1
находится под индексом [0]
.
Получение фрагмента массива
Метод slice()
используют для получения фрагментов массива по его индексам.
Например:
В первом выводе из массива a получается фрагмент массива начиная с индекса 4
и до конца [ 5, 6, 7, 8, 9 ]
. Во втором случае получим массив с 3
по 7
индекс [ 4, 5, 6, 7 ]
, при этом последний элемент в массив не входит.
Сортировка массива
Для сортировки массива в алфавитном порядке используют метод sort()
.
Например:
Чтобы числа и цифры в массиве шли по порядку, используют функцию (a, b) => a – b
.
Например:
Для расположения элементов массива в обратном порядке используют метод reverse()
.
Например:
Получение строкового представления массива
Для извлечения элементов из массива в виде строки используют метод toString()
или a.join()
.
Например:
Создание копий массивов
Элементы из массива a
можно скопировать в массив b
с помощью метода Array.of()
.
Например:
С помощью метода copyWithin()
можно копировать элементы в определенное место массива. Методу необходимо передать аргументы: первый аргумент — индекс целевой позиции, то есть то место в новом массиве, куда необходимо вставить данные. Второй аргумент — начальный индекс позиции источника элементов.
Например:
Методы pop/push, shift/unshift
Метод pop()
удаляет элемент из конца массива. А метод push()
добавляет элемент в конце массива.
Например:
Метод shift()
удаляет из начала массива один или несколько элементов. Метод unshift()
добавляет в начало массива один или несколько элементов.
Например:
Немного о «length»
Свойство length
— это наибольший индекс массива плюс один. С помощью этого свойства можно уменьшить длину массива.
Например:
Если мы можем уменьшить количество элементов в массиве, то можем и полностью очистить массив с помощью свойства arr.length=0
.
Например:
Метод new Array()
Массив можно задать методом new Array()
.
Например:
Но при этом, если массив будет состоять из одного числового элемента, то его элементы будут undefined
.
Например:
Чтобы такого не было при инициализации массива лучше пользоваться квадратными скобками:
Метод toString
Метод toString
возвращает список элементов массива, разделенных запятыми.
Многомерные массивы
Если в массив a мы поместим массив a1,a2…an
, то получим многомерный массив. Он может выглядеть так:
В многомерных массивах можно обращаться как к отдельным элементам, так и к элементам внутри элемента.
Например:
В это статье мы научились:
- Инициализировать массив.
- Объединять и копировать массивы.
- Определять длину массива.
- Добавлять или удалять элемент из массива.
- Перебирать все элементы массива или определенный диапазон элементов.
- Работать с многомерными массивами.
Комментарии