Array
Объект Array служит для создания массивов. Массив — это набор элементов, содержащих значения, сохраненный под одним именем. Например, массив score может использоваться для сохранения счета сыгранных матчей. Массивы могут состоять из чисел, строковых переменных, объектов и других типов данных. Перед использованием массив необходимо объявить через конструктор Array и оператор new.
Создадим несколько массивов:
Если длина массива не определена, как показано в первом примере, то она может изменяться динамически, при этом элементами массива могут быть значения любого типа. Чтобы определить значения массива, укажите его индекс в скобках. Индексирование элементов массива начинается с 0, поэтому элементы объявленного выше второго массива имеют индексы 0—29, но общее их количество равно числу аргументов. Следующие операторы определяют значения первых четырех элементов массива:
Также можно использовать другой способ создания массива через квадратные скобки.
Вы можете переписать значение в массиве по его индексу.
Можно сначала создать пустой массив, а потом добавить нужные элементы.
Можно добавлять не по порядку, например, сразу в пятый индекс. Тогда в 3 и 4 будут значения undefined.
В массив можно вложить ещё один массив.
Массивы имеют свойство length. Оно определяет количество элементов, из которых состоит массив. Оно же определяется при создании массива. В следующем примере отображается число элементов массива array2:
Зная длину массива, мы можем быстро узнать индекс последнего элемента, вычитая единицу.
Массивы часто используются в циклах
В начале примера инициируется массив с именем num, состоящий из девяти элементов. В цикле пробегаем по всем элементам массива с помощью конструкции num[i] и суммируем все значения массива.
Массивы являются весьма гибкими. Размер массива устанавливается динамически. Если мы создадим массив myArray[29] = «Вася», то величина массива автоматически устанавливается в размере 30 элементов.
Массивы в JavaScript могут лишь увеличиваться в размерах, но не могут уменьшаться.
Управление элементами массива
Содержимое массива определяется значениями его элементов. При управлении элементами массива используются те же методы, что и при управлении значениями и переменными. Например, следующий оператор позволяет отобразить значения первых четырех элементов массива scores:
Использование строковых массивов
Наряду с числовыми массивами, активно используются и строковые массивы. Это позволяет просто и эффективно управлять большими объемами текстовой информации. Объявление строковых массивов проводится тем же способом, что и объявление числовых массивов:
Элементы строкового массива используются везде, где позволено использовать строковые переменные. Все описанные выше методы выполняются и для элементов строковых массивов. Например, следующий оператор позволяет распечатать первые пять символов значения первого элемента массива names:
Добавление элементов в массив
Для добавления нового элемента в массив используется метод push(), в скобках нужно указать элемент для добавления.
При добавлении нового элемента изменяется длина массива. Сам элемент добавляется в конец массива.
Для добавления элемента в начало массива используйте метод unshift().
Здесь также автоматически изменится длина массива и поменяются индексы у элементов, которые там были.
Удаление элементов массива
Удалить последний элемент массива можно через метод pop(), который возвращает удаляемый элемент. Соответственно, уменьшается и длина массива.
Первый элемент можно удалить через метод shift(), который также возвращает значение удаляемого элемента.
Объединение массивов
Объединить один массив с другим можно через функцию concat(), указав в качестве параметра второй массив. Элементы второго массива окажутся после элементов первого массива. При этом образуется третий общий массив.
Сами массивы остаются прежними и не меняются.
Можно объединять несколько массивов, перечисляя их через запятую.
Поиск индекса по элементу
Чтобы узнать индекс элемента в массиве (его порядковый номер), используйте функцию indexOf().
По сути метод работает наоборот. По индексу мы можем узнать значение элемента, а по элементу его индекс.
Если элемента по запрашиваемому индексу нет, то возвращается -1.
Если элемент в массиве встречается несколько раз, то возвращается первый найденный.
Превращаем массив в строку
С помощью функции join() можно преобразовать массив в строку.
Как видите, элементы массива перечисляются через запятую и без пробелов и кавычек.
Если вас не устраивают запятые, то в параметре функции вы можете указать свой разделитель.
Если в массиве находятся нестроковые значения, то JavaScript автоматически сделает их строками.
Как узнать индекс элемента в массиве js

Чтобы узнать индекс элемента в массиве в JS, можно воспользоваться методом indexOf() . Этот метод вернёт первый индекс, по которому указанный элемент находится в массиве:
Если такого элемента в массиве нет, то метод вернет -1

Помимо стандартных возможностей JS, узнать индекс элемента массива можно с помощью метода из библиотеки Lodash _.findIndex():
Метод возвращает индекс первого элемента в массиве, который удовлетворяет условию. Если ни один из элементов не удовлетворяет условию поиска, возвращается -1. Этот метод отлично ладит с массивами, элементами которых являются объекты. Обратимся к примеру ниже:
В примере выше всё понятно, давайте посмотрим возможности этого метода в следующем примере.
В примере выше нам не важно имя пользователя, нам просто нужно найти пользователя, у которого был бы неактивный статус. И данный метод нам в этом отлично поможет.
Array.prototype.indexOf()
The indexOf() method returns the first index at which a given element can be found in the array, or -1 if it is not present.
Try it
Syntax
Parameters
Element to locate in the array.
Zero-based index at which to start searching, converted to an integer.
- Negative index counts back from the end of the array — if fromIndex < 0 , fromIndex + array.length is used. Note, the array is still searched from front to back in this case.
- If fromIndex < -array.length or fromIndex is omitted, 0 is used, causing the entire array to be searched.
- If fromIndex >= array.length , the array is not searched and -1 is returned.
Return value
The first index of the element in the array; -1 if not found.
Description
The indexOf() method compares searchElement to elements of the array using strict equality (the same algorithm used by the === operator). NaN values are never compared as equal, so indexOf() always returns -1 when searchElement is NaN .
The indexOf() method skips empty slots in sparse arrays.
The indexOf() method is generic. It only expects the this value to have a length property and integer-keyed properties.
Работа с массивами в JavaScript

Удаление элемента (ов) из массива осуществляется одним из следующих методов:
- .pop() — предназначен для удаления последнего элемента массива.
- .shift() — предназначен для удаление первого элемента массива.
- .splice() — может использоваться для удаления одного или нескольких элементов из массива, начиная с указанного.
Как удалить массив
Для того чтобы удалить массив, хранящейся в некоторой переменной, достаточно присвоить ей другое значение.
Как добавить элемент в массив
Для добавления элемента в массив можно воспользоваться одним из следующих методов:
- .push() — предназначен для добавления элемента в конец массива.
- .unshift() — предназначен для добавления элемента в начало массива.
- .splice() — может использоваться для добавления одного или нескольких элементов в массив, начиная с указанного.
Как вывести массив
Для того чтобы вывести массив в некоторый элемент на веб-странице его предварительно необходимо преобразовать в строку.
Например, вывести содержимое некоторого массива в элемент с id=»array» :
Как создать пустой массив
Создание пустого массива осуществляется следующими конструкциями:
Как очистить массив
Для того чтобы удалить все элементы из некоторого массива можно воспользоваться одним из следующих способов:
Как объединить массивы
Для того чтобы объединить 2 или больше массивов можно воспользоваться методом concat() . Этот метод не изменяет существующие массивы, он создаёт новый массив, содержащий элементы объединяемых массивов.
Как узнать является ли объект массивом
Для того чтобы узнать какой тип данных содержит переменная можно воспользоваться одной из следующих конструкций:
Как узнать индекс элемента в массиве
Для того чтобы найти некоторый элемент в массиве можно воспользоваться методом indexOf() . Значение, которое надо найти у элемента указывается в качестве первого параметра ( valueElement ). Данный параметр является обязательным. Кроме этого при необходимости можно указать индекс элемента ( startIndex ) в качестве 2 параметра данного метода, чтобы поиск элемента осуществлялся не с начала, а с указанного элемента.
В качестве результата метод indexOf() возвращает индекс найденного элемента или значение -1 . В том случае если указанное значение имеют несколько элементов, то данный метод возвращает индекс первого найденного элемента.
Как найти максимальное значение массива
Для того чтобы найти максимальное значение массива можно воспользоваться следующей конструкцией:
Как найти минимальное значение массива
Для того чтобы найти минимальное значение массива можно воспользоваться следующей конструкцией:
Как заполнить массив с помощью метода fill
Метод fill() предназначен для заполнения массива или его части с помощью указанного значения:
Перемешать массив
Для того чтобы перемешать элементы в массиве можно воспользоваться следующей функцией:
Скопировать массив
Для того чтобы скопировать массив используйте следующий код:
Сортировка числового массива по убыванию
Для сортировки числового массива по убыванию можно использовать метод sort() :
Сортировка числового массива по возрастанию
Для сортировки числового массива по возрастанию можно использовать метод sort() :
Как проверить существование элемента в массиве
Для того чтобы проверить есть ли указанный элемент в массиве или нет можно воспользоваться методом indexOf() .
Сумма значений элементов массива
Определение суммы элементов числового массива:
Как создать двумерный и многомерный массивы в JavaScript
Готовых функций для создания и работы с двумерными и многомерными массивами в JavaScript нет. Их создание осуществляется посредством того, что каждый элемент первоначального массива в свою очередь тоже должен является массивом.
Например, создадим массив 5×5:
Например, создадим массив 3×2:
Например, создадим пустой двумерный массив:
Например, спроектируем функцию arrayTable, предназначенную для создания табличного массива: