Определение

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

Приведенный выше массив имеет восемь элементов со значениями 1, 2, 3, 4, 5, 6, 7 и 8. Индексы массива можно увидеть над элементами, а первый элемент массива находится с индексом 0. Мы скажем, что длина массива равна 8, а первый индекс массива начинается с индекса 0, и если у вас есть восемь элементов в массиве, то последний элемент будет найден с индексом 7, потому что если массив начинается с 0, то последний элемент будет найден при длине массива - 1 и в нашем случае это будет 8 -1 = 7.

Объявление массива

Как объявить массив?

// Declare an array without a size
const arr = [];
// Declrate an array with a size
const arr2 = new Array(8);

В приведенном выше коде обе переменные, arr и arr2, являются объектами, и вы можете узнать их тип, выполнив следующую команду.

console.log({"typeOfArr": typeof arr});
console.log({"typeOfArr2": typeof arr2});

Обе переменные, arr и arr2 объявлены как константы, потому что их тип не может быть изменен, но значения в них могут быть изменены.

Два созданных нами массива — это два разных способа создания массива в JavaScript. Первый — с литеральной записью, а второй — с классом, и когда мы используем класс Array, мы можем указать, сколько элементов нам нужно во время создания. Посмотрите, что говорят документы MDN здесь.

Заполнение массива

Есть много способов добавить элемент в массив, и вместо того, чтобы описывать их здесь, пожалуйста, ознакомьтесь с документацией MDN для

  1. push — добавляет элемент в конец массива и возвращает новую длину.
  2. unshift — добавляет элемент в начало массива и возвращает новую длину.
  3. splice — Думайте о splice как о многоцелевой функции, которая используется для добавления, удаления или замены элементов в массиве.

Мы заполняем наши два массива данными

// Populate array arr
arr.push(1);
arr.push(2);
arr.push(3, 4);
arr.push(5);
arr.push(6, 7, 8);
// arr = [1, 2, 3, 4, 5, 6, 7, 8]
// Populate array arr2
arr2.push(1);
arr2.push(2);
arr2.push(3, 4);
arr2.push(5);
arr2.push(6, 7, 8);
arr2.push(9);
// arr2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]

Метод push в arr используется для добавления одного или нескольких элементов, разделенных запятой, и мы добавили восемь элементов.

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

Поскольку arr и arr2 являются массивами, мы сосредоточимся на arr в дальнейшем.

Доступ к данным из массива

После объявления вашего массива следующее, что мы можем сделать с ним, — это получить доступ к элементам.

console.log({first: arr[0]});
console.log({second: arr[1]});
console.log({third: arr[2]});
console.log({fourth: arr[3]});
console.log({fifth: arr[4]});
console.log({sixth: arr[5]});
console.log({seventh: arr[6]});
console.log({eighth: arr[7]});

Помните, что массив начинается с индекса 0, а последний элемент находится на длине массива — 1. Доступ к элементу с индексом 9 вернет undefined.

Доступ к данным из массива с помощью циклов

Обычно цикл for используется для перебора элементов в массиве, и именно так мы делаем это в JavaScript.

for (let index = 0; index < arr.length; index++) {
 console.log({index: index, value: arr[index]});
}

JavaScript также предоставляет другой способ перебора элементов, способ forEach.

arr.forEach((value, index) => {
 console.log({index: index, value: arr[index]});
});

JavaScript также предоставляет еще один цикл for под названием for of, который возвращает элемент из массива.

for (const value of arr) {
    console.log({value: value});
}

Цикл while можно использовать для перебора элементов, но в цикле while или цикле do while вы должны позаботиться об индексе и убедиться, что он правильно увеличивается, а оператор сравнения while используется в операторе while.

// while loop
let index = 0;
while (index < arr.length) {
 console.log({index: index, value: arr[index]});
    index++;
}
// do while loop
index = 0;
do {
 console.log({index: index, value: arr[index]});
    index++;
} while (index < arr.length)

Массив является одной из самых основных структур данных, и с помощью массива мы можем реализовать такие алгоритмы, как пузырьковая сортировка, поиск по объединению и быстрый поиск. Код в этой статье можно найти в этом суть.