В этом уроке мы освоим массивы. Массивы – это те же объекты, но имеющие некоторые отличия. Во первых, массивы не имеют ключей, только значения. Во вторых, все эти значения упорядочены. Т.е. если я создам такой объект:
далее попрошу консоль вернуть мне этот объект, и сы видим, что объектные литералы располагаются в произвольном порядке. Сперва идет ключ 23, потом age и т.д., хотя кода я создавал объект, то порядок был другой. Короче говоря объект не сохраняет порядок объектных литералов. Но у массива всё по другому.
Давайте создадим массив. В значении нам вместо фигурных скобок надо написать квадратные, тогда транслятор поймет что вы создаете массив. И уже внутри эти квадратных скобок можете писать значения через запятую.
Как видите, в качестве ключей, массив автоматически проставляет порядковые номера начиная с 0, и все эти значения идут именно в том порядке в котором вы их создавали. Также вы можете заметить, что прототипом для массивов является объект Array, у которого есть много своих свойства, а для объекта Array прототипом является уже глобальный объект.
Если мы хотим получить доступ к какому-либо значению массива, надо также использовать квадратные скобки и писать тот порядковый номер, который нам нужен.
Также мы можем изменить значение:
Или добавить новое:
По идее если мы хотим добавить еще одно значение, то нам надо в порядковом номере использовать число 5, но это необязательно:
Массив где отсутствуют значения в порядковых номерах, как например в нашем, где отсутствуют значения в номерах от 5 до 98, называется разряженным массивом.
Массив относится к объектным типам, значит при присвоении имени массива другой переменной мы просто передаем ссылку на массив.
А как быть если мы хотим скопировать именно значения, а не ссылку на объект. Для этого надо использовать оператор распространения (еще его называют оператор Spread). Он пишется так, только сперва давайте создадим новый массив.
Оператор распространения нужен тогда, когда мы хотим скопировать именно значение, а не ссылку. И пишется так, сперва ставим три точки а затем имя необходимого массива. Проверяем:
как видим оператор распространения также передал все отсутствующие значения в порядковых номерах от 5 д 98.
Так как массив – это все-таки объектный тип данных, мы все равно можем ему присвоить ключ-значение таким образом:
Или таким:
Давайте создадим еще массив.
Если мы хотим скопировать сюда значения массива player2, но так, чтобы они были между значениями 56 и 23, то просто между ними вставляет оператор распространения.
Для удобства транслятор сгруппировал все значения по 100, на как вы можете заметить, оператор распространения не копировал свойства, у которых есть ключи.
Также массивы могут содержать внутри себя другие массивы.
Когда один массив содержит внутри себя другой массив или другие массивы (так как массив который является частью другого массива может внутри себя содержать еще массивы, и получается такая матрешка их массивов), такой массив называется многомерным. Если он не содержит другой или другие массивы, то такой массив называется одномерным.
Домашнее задание. Данное домашнее задание очень простое. Вам необходимо создать массив и перечислить ваши любимые блюда))