[Коллекции] Массивы (Array) в JavaScript: описание, примеры использования, методы массивов
Массивы - это один из основных типов данных в JavaScript, который представляет собой упорядоченную коллекцию элементов. Элементы массива могут быть любого типа данных, включая другие массивы. Массивы в JavaScript могут изменяться - можно добавлять, удалять или изменять элементы массива.
Создание массивов
Массивы в JavaScript могут быть созданы с помощью литерала массива, используя квадратные скобки []:
let myArray = [1, 2, 3];
Также, массив можно создать с помощью конструктора Array()
:
let myArray = new Array(1, 2, 3);
Тип данных
Массивы могут содержать элементы любого типа данных, включая другие массивы и объекты:
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 можно объявлять пустыми и добавлять элементы по мере необходимости:
let myArray = [];
myArray.push("apple");
myArray.push("banana");
myArray.push("orange");
console.log(myArray); // ["apple", "banana", "orange"]
Массивы в JavaScript имеют свойство length, которое показывает количество элементов в массиве:
let myArray = ["apple", "banana", "orange"];
console.log(myArray.length); // 3
Массивы в JavaScript могут быть многомерными, т.е. содержать в себе другие массивы:
let myArray = [[1, 2], [3, 4], [5, 6]];
console.log(myArray[1][0]); // 3
Массивы в JavaScript являются объектами, поэтому к массивам можно добавлять свойства и методы:
let myArray = [1, 2, 3];
myArray.color = "red";
myArray.sayHello = function() {console.log("Hello!");};
console.log(myArray.color); // "red"
myArray.sayHello(); // "Hello!"
Пример изменения массива с помощью методов
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].