Определение
Массив — это структура данных, состоящая из набора элементов, где каждый элемент идентифицируется индексом в массиве. Массив может быть одномерным или многомерным. Традиционно одномерный массив представлен так, как показано ниже.
Приведенный выше массив имеет восемь элементов со значениями 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 для
- push — добавляет элемент в конец массива и возвращает новую длину.
- unshift — добавляет элемент в начало массива и возвращает новую длину.
- 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)
Массив является одной из самых основных структур данных, и с помощью массива мы можем реализовать такие алгоритмы, как пузырьковая сортировка, поиск по объединению и быстрый поиск. Код в этой статье можно найти в этом суть.