JavaScript | Что такое индекс массива? — efim360.ru

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