Привет сообществу, пытаюсь выучить самостоятельно основы javascript, слышала что там есть определенные особенности при работе с массивами, не могли бы вы описать все тонкости работы с массивами в JavaScript и все нюансы устройства массивов в пямяти?
Привет сообществу, пытаюсь выучить самостоятельно основы javascript, слышала что там есть определенные особенности при работе с массивами, не могли бы вы описать все тонкости работы с массивами в JavaScript и все нюансы устройства массивов в пямяти?
Здравствуй, в JavaScript действительно массивы немного не обычные, JavaScript динамически типизированный язык, это проявляется и в массиве, например в один массив ты можешь положить переменные разных типов данных, например массив один на пять элементов, и каждый из этих элементов может быть разного типа, кроме того, если в других языках программирования тебе нужно увеличить массив, то в большинстве случаев ты создаешь отдельный массив который нужной тебе размерности и перезаписываешь всё из меньшего массива в новый, здесь же ты можешь увеличить действующий массив с помощью свойства length, просто присваиваешь ему число которое будет новым размером массива, все поля массива что будут добавлены в связи с увеличением размера будут undefined, кстати таким же путем можно и уменьшить массив, присваивая свойству length значение меньше размера массива, и все элементы которые по индексу больше нового размера массива будут просто обрезаны. Сейчас покажу примеры кода различных ситуаций:
Массивы
Работа с массивами (увеличение и уменьшение)
Перед первым циклом мы меняем размер нашего массива который изначально был 5, теперь размер массива равен 8, в цикле мы выводим все элементы массива, затем мы уменьшаем длину массива до 3 элементов и опять же в цикле выводим все элементы массива, сейчас покажу что же нам вывело в браузере:
Как видим, когда массив стал больше, пустые ячейки не определены, когда же мы обрезали его, то просто пропали все последующие элементы.
Также можно присваивать значения элементам массива в цикле, просто выбирая каждый элемент массива обращаясь к нему по индексу и производя с ним манипуляции.
Вот такой простой пример:
Массивы
Работа с массивами (увеличение и уменьшение)
В данном примере мы создаем массив на 6 элементов, затем меняем его размер, размер массива теперь 14, в цикле мы выводим значения элементов массива, если элемент массива неопределенн то мы присваиваем ему случайное число, вот что мы получим как вывод:
Вообще советую посмотреть видео уроки на ITVDN, там хороший и детальный видео урок по JavaScript: https://itvdn.com/ru/video/javascript-essential/arrays-in-javascript
Это как раз ссылка на массивы в JavaScript.
Также в JavaScript у массивов есть много разных методов, такие как Join(), Concat(), Reverse(), Push(), Shift(), Unshift().
Покажу пример работы одного метода, с остальными попробуй поэксперементировать сам, пример:
Массивы
Работа с массивами (увеличение и уменьшение)
Вот как будет выглядеть вывод на экран: