JavaScript | Что такое индекс массива?

JavaScript | Что такое индекс массива?

Под словосочетанием «индекс массива» подразумевают «номер целочисленного индекса элемента массива«. Прикол в том, что когда в коде (в редакторе кода) пишут массив через квадратные скобки, то по факту пишут ЗНАЧЕНИЯ элементов массива, а JavaScript уже сам у себя в «невидимом» режиме «проставляет» нужные целочисленные ИНДЕКСЫ от нуля до какого-то положительного целого числа (зависит от количества элементов в массиве). То есть кодер (программист) не видит эти индексы, но они есть.

Считайте это небольшим визуальным улучшением. Представьте себе, что у вас массив из 1 миллиона строк. У вас и так много значений, а вы ещё будете приписывать номера для каждого элемента в самом коде. Очевидно, что в этом нет никакого смысла т. к. номер индекса на следующем элементе увеличивается на один. И так у всех. Эту писанину можно «опустить» (убрать с глаз) и сконцентрироваться на самих данных (значениях).

 

Как это понять?

Любой элемент массива состоит из пары «ИНДЕКС / ЗНАЧЕНИЕ».

Индексы — порядковые номера элементов. Сначала идёт первый элемент, потом второй, потом третий и т.д..

Значения — это данные, которые мы храним в элементах массивов. Именно эти данные представляют наибольшую ценность в массивах.

Если мы хотим дотянуться до «данных» в массиве, то мы должны знать «порядковый номер» элемента в этом массиве. Если мы хотим дотянуться до «ЗНАЧЕНИЯ элемента» в массиве, то мы должны знать «ИНДЕКС элемента» в этом массиве. По индексу мы находим значение.

Если мы не будем знать индекса, то мы не сможем получить значения из массива.

Если мы обратимся к элементу массива по другому индексу, то мы получим другое значение.

Элемент массива - ИНДЕКС и ЗНАЧЕНИЕ - JavaScript
Элемент массива — ИНДЕКС и ЗНАЧЕНИЕ — JavaScript

 

Информация из стандарта ECMAScript

ArrayLiteral — это выражение, описывающее инициализацию объекта Array с использованием списка из нуля или более выражений, каждое из которых представляет элемент массива, заключенного в квадратные скобки. Элементы не обязательно должны быть литералами; они оцениваются каждый раз, когда оценивается инициализатор массива.

Элементы массива могут быть опущены в начале, середине или конце списка элементов. Каждый раз, когда запятой в списке элементов не предшествует AssignmentExpression (т.е. запятая в начале или после другой запятой), отсутствующий элемент массива способствует увеличению длины массива и увеличивает индекс последующих элементов. Исключаемые элементы массива не определены. Если элемент опущен в конце массива, этот элемент не влияет на длину массива.

 

Представьте, что у нас есть пустой массив:

var klass5a = []

Мы проинициализирвали массив при помощи квадратных скобок. Этот массив пустой — в нём нет элементов. Теперь задайте себе вопрос — как добавить новый элемент в этот массив?

Что проинициализировать элемент массива, нам нужно будет воспользоваться «другими» квадратными скобками. Например добавим первый элемент массива:

klass5a[0] = "Иванов Пётр Владимирович"

Обратите внимание. Мы в квадратные скобки написали тот самый «невидимый» номер, который является индексом первого элемента массива. Да, да. Вам не показалось. Индекс 0, элемент 1.

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

 

Создали массив - Добавили первый элемент - Установили индекс 0 ноль - JavaScript
Создали массив — Добавили первый элемент — Установили индекс 0 ноль — JavaScript

Вот это и называется индексом массива!

 

Как заменить значение элемента под определённым индексом?

Индекс нужно знать для того, чтобы иметь возможность «переназначать» значение. Представьте, что у вас есть кошелёк в сумке. Сегодня вы положили в кошелёк 2 тысячи рублей, а завтра положили 5 тысяч. Кошелёк один, а значения разные. Так же и с элементами массива — индекс один а значения можно менять сколько угодно.

Переназначим в нашем массиве значение «Иванов Пётр Владимирович» на «Светка-Конфетка»

klass5a[0] = "Светка-Конфетка"

 

Индекс массива помог нам переназначить значение элемента - JavaScript
Индекс массива помог нам переназначить значение элемента — JavaScript

Информационные ссылки

Элемент массива

Массивы (Array)

Объявление массива через квадратные скобки []

Как создать элемент массива?

Как обратиться к элементу массива?

Как получить первый элемент массива?

Как получить последний элемент массива?

Стандарт ECMAScript — Раздел «13.2.5 Array Initializer» — https://tc39.es/ecma262/#sec-array-initializer