[Коллекции] Массивы (Array) в JavaScript: описание, примеры использования, методы массивов
JavaScript

[Коллекции] Массивы (Array) в JavaScript: описание, примеры использования, методы массивов

Razilator

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

Создание массивов

Массивы в JavaScript могут быть созданы с помощью литерала массива, используя квадратные скобки []:

index.js
let myArray = [1, 2, 3];

Также, массив можно создать с помощью конструктора Array():

index.js
let myArray = new Array(1, 2, 3);

Тип данных

Массивы могут содержать элементы любого типа данных, включая другие массивы и объекты:

index.js
let mixedArray = [1, "two", {three: 3}, [4, 5]];

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

JavaScript предоставляет множество методов для работы с массивами. Некоторые из наиболее распространенных методов:

  • push() - добавляет один или несколько элементов в конец массива и возвращает новую длину массива.
  • pop() - удаляет последний элемент из массива и возвращает его значение.
  • shift() - удаляет первый элемент из массива и возвращает его значение. При этом все остальные элементы сдвигаются на одну позицию влево.
  • unshift() - добавляет один или несколько элементов в начало массива и возвращает новую длину массива.
  • slice() - создает новый массив, содержащий копию части исходного массива. Начальный и конечный индексы могут быть заданы в качестве аргументов.
  • splice() - изменяет исходный массив, удаляя или заменяя элементы. Может принимать три или более аргументов: начальный индекс, количество удаляемых элементов и элементы для вставки.

Вот список методов массивов в JavaScript:

  • concat() – объединяет два или более массива, возвращая новый массив.
  • copyWithin() – копирует последовательность элементов массива внутри него, заменяя существующие элементы.
  • entries() – возвращает объект-итератор, содержащий пары «индекс, значение» для каждого элемента массива.
  • every() – проверяет, удовлетворяют ли все элементы массива заданному условию.
  • fill() – заполняет все элементы массива заданным значением.
  • filter() – создает новый массив со всеми элементами, прошедшими проверку, заданную в передаваемой функции.
  • find() – возвращает первый элемент массива, прошедший проверку, заданную в передаваемой функции.
  • findIndex() – возвращает индекс первого элемента массива, прошедшего проверку, заданную в передаваемой функции.
  • forEach() – выполняет заданную функцию для каждого элемента массива.
  • from() – создает новый массив из массивоподобного объекта или итерируемого объекта.
  • includes() – проверяет, содержит ли массив заданный элемент.
  • indexOf() – возвращает индекс заданного элемента в массиве.
  • join() – объединяет все элементы массива в строку.
  • keys() – возвращает объект-итератор, содержащий индексы элементов массива.
  • lastIndexOf() – возвращает индекс последнего вхождения заданного элемента в массиве.
  • map() – создает новый массив, содержащий результат выполнения переданной функции для каждого элемента массива.
  • pop() – удаляет последний элемент массива и возвращает его значение.
  • push() – добавляет один или более элементов в конец массива и возвращает новую длину массива.
  • reduce() – применяет заданную функцию к элементам массива, сведя их к одному значению.
  • reduceRight() – применяет заданную функцию к элементам массива, сведя их к одному значению справа налево.
  • reverse() – переворачивает порядок элементов массива.
  • shift() – удаляет первый элемент массива и возвращает его значение.
  • slice() – создает новый массив, содержащий часть элементов массива.
  • some() – проверяет, удовлетворяет ли хотя бы один элемент массива заданному условию.
  • sort() – сортирует элементы массива.
  • splice() – изменяет содержимое массива, удаляя существующие элементы и/или добавляя новые элементы.
  • toLocaleString() – возвращает строковое представление массива, разделенного запятыми и преобразованного в локальный формат чисел и дат.
  • toString() – возвращает строковое представление массива, разделенного запятыми.
  • unshift() – добавляет один или более элементов в начало массива и возвращает новую длину массива.
  • valueOf() – возвращает примитивное значение массива.

Каждый из этих методов имеет свою специфическую функцию, которая может быть использована для решения различных задач при работе с массивами в JavaScript.

Некоторые из них могут изменять содержимое исходного массива, а некоторые возвращают новые массивы, созданные на основе исходного.

Также важно отметить, что большинство методов массивов принимают функции в качестве аргументов, которые могут быть использованы для дополнительной обработки элементов массива во время выполнения метода.

Интересные свойства массивов

Кроме функций и методов, о которых мы уже говорили, массивы в JavaScript имеют еще несколько интересных свойств.

Массивы в JavaScript могут содержать элементы любых типов данных: числа, строки, объекты, функции, другие массивы и т.д.

Массивы в JavaScript можно объявлять пустыми и добавлять элементы по мере необходимости:

index.js
let myArray = [];
myArray.push("apple");
myArray.push("banana");
myArray.push("orange");
console.log(myArray); // ["apple", "banana", "orange"]

Массивы в JavaScript имеют свойство length, которое показывает количество элементов в массиве:

index.js
let myArray = ["apple", "banana", "orange"];
console.log(myArray.length); // 3

Массивы в JavaScript могут быть многомерными, т.е. содержать в себе другие массивы:

index.js
let myArray = [[1, 2], [3, 4], [5, 6]];
console.log(myArray[1][0]); // 3

Массивы в JavaScript являются объектами, поэтому к массивам можно добавлять свойства и методы:

index.js
let myArray = [1, 2, 3];
myArray.color = "red";
myArray.sayHello = function() {console.log("Hello!");};
console.log(myArray.color); // "red"
myArray.sayHello(); // "Hello!"

Пример изменения массива с помощью методов

index.js
let myArray = [1, 2, 3];
myArray.push(4); // добавляем 4 в конец массива > [1, 2, 3, 4]
myArray.pop(); // удаляем последний элемент из массива (4) > [1, 2, 3]
myArray.shift(); // удаляем первый элемент из массива (1) > [2, 3]
myArray.unshift(0); // добавляем 0 в начало массива >  [0, 2, 3]
myArray.slice(1, 3); // создаем новый массив, содержащий элементы 2 и 3 > [0, 2, 3]
myArray.splice(1, 1, "two"); // заменяем элемент 2 на строку "two" > [0, "two", 3]

После выполнения этих операций, массив myArray будет содержать элементы [0, "two", 3].

;