Рубрики
Без рубрики

Структура данных Массива JavaScript

Массивы являются наиболее фундаментальной структурой данных в любом языке программирования. Массивы доступны в большинстве (если не во всех) языков программирования, встроенных в язык. Давайте поговорим о том, что представляют массивы в большинстве языков программирования более низкого уровня, таких как C: они представляют собой набор смежных ячеек в компьютерной памяти. Начиная с ячейки в памяти (это помогает визуализировать ячейки, как в электронной таблице, если хотите), мы можем создать массив с 10 ячейками, получив 10 смежных ячеек.

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

Массивы доступны в большинстве (если не во всех) языков программирования, встроенных в язык.

Давайте поговорим о том, что представляют массивы в большинстве языков программирования более низкого уровня, таких как C: они представляют собой набор смежных ячеек в компьютерной памяти.

Начиная с ячейки в памяти (это помогает визуализировать ячейки, как в электронной таблице, если хотите), мы можем создать массив с 10 ячейками, получив 10 смежных ячеек.

Это позволяет нам выполнять такие операции, как доступ к слоту № 2, зная адрес памяти первого слота #0 и просто добавляя 2 к этому.

В JavaScript мы работаем на более высоком уровне, и массивы работают по-другому. У нас нет доступа к памяти, как в случае с C или другими языками более низкого уровня, поэтому мы абстрагируемся от такого рода математики массивов.

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

В JavaScript массивы могут содержать любые данные, смешивая их. У нас может быть число, затем объект, затем другой массив.

Массив инициализируется с использованием этого синтаксиса:

const myArray = []

или

const myArray = new Array()

разницы нет, но я предпочитаю сокращенный синтаксис [] .

В JavaScript мы не обязаны указывать размер массива во время создания, но мы можем это сделать:

const myArray = new Array(10)

Затем мы можем заполнить массив значениями:

let val = 1
for (const [i, v] of myArray.entries()) {
  myArray[i] = val++
}

Вы можете ссылаться на первый элемент в массиве с помощью:

myArray[0]

(индекс начинается с 0 ) и каждый последующий элемент в массиве путем увеличения номера индекса:

myArray[4] //5
myArray[3 + 4] //8

Вы можете изменить значение элемента в любой позиции, используя синтаксис:

myArray[3] = 'Another item'

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

myArray.push(11)

Вы можете добавить элемент в любую позицию, используя метод splice() (не путать с slice() ).

В самом начале:

myArray.splice(0, 0, 'new item')

По индексу 3:

myArray.splice(3, 0, 'new item')

Вы можете удалить элемент из конца массива с помощью

myArray.pop()

и с самого начала используя

myArray.shift()

Мы можем найти длину массива, проверив свойство myArray.length .

И мы можем перебирать элементы в массиве с помощью циклов:

for (let i = 0; i < myArray.length; i++) {
  console.log(myArray[i]) //value
  console.log(i) //index
}
myArray.forEach((item, index) => {
  console.log(item) //value
  console.log(index) //index
}
let i = 0
while (i < myArray.length) {
  console.log(myArray[i]) //value
  console.log(i) //index
  i = i + 1
}
//iterate over the value
for (const value of myArray) {
  console.log(value) //value
}

//get the index as well, using `entries()`
for (const [index, value] of myArray.entries()) {
  console.log(index) //index
  console.log(value) //value
}

Оригинал: “https://flaviocopes.com/javascript-data-structures-array/”