fix: clarify point and correct spelling in array article.md ru by front42 · Pull Request #2128 · javascript-tutorial/ru.javascript.info
Элементы массива нумеруются, начиная с нуля. Элементы массива индексируются, начиная с нуля.
Мы можем получить элемент, указав его номер в квадратных скобках: Мы можем получить элемент, указав его индекс в квадратных скобках:
```js run let fruits = ["Яблоко", "Апельсин", "Слива"];
- это ровно то же самое, что и `arr[i]`, если `i >= 0`. - для отрицательных значений `i`, он отступает от конца массива. - для отрицательных значений `i` он отступает от конца массива.
## Методы pop/push, shift/unshift
Просто взять и удалить элемент с номером `0` недостаточно. Нужно также заново пронумеровать остальные элементы. Просто взять и удалить элемент с индексом `0` недостаточно. Нужно также заново переиндексировать остальные элементы.
Операция `shift` должна выполнить 3 действия:
1. Удалить элемент с индексом `0`. 2. Сдвинуть все элементы влево, заново пронумеровать их, заменив `1` на `0`, `2` на `1` и т.д. 2. Сдвинуть все элементы влево и обновить их индексы, заменив `1` на `0`, `2` на `1` и т.д. 3. Обновить свойство `length` .

Цикл `for..of` не предоставляет доступа к номеру текущего элемента, только к его значению, но в большинстве случаев этого достаточно. А также это короче. Цикл `for..of` не предоставляет доступа к индексу текущего элемента, только к его значению, но в большинстве случаев этого достаточно. А также это короче.
Технически, так как массив является объектом, можно использовать и вариант `for..in`:
Как мы видим, в коде, представленном выше, в `new Array(number)` все элементы равны `undefined`.
Чтобы избежать появления таких неожиданных ситуаций, мы обычно используем квадратные скобки, если, конечно, не знаем точно, что по какой-то причине нужен именно `Array`. Чтобы избежать появления таких неожиданных ситуаций, мы обычно используем квадратные скобки, если, конечно, не знаем точно, что по какой-то причине нужен именно `new Array`.
## Многомерные массивы
Оператор строгого равенства `===` ещё проще, так как он не преобразует типы.
Итак, если мы всё же сравниваем массивы с помощью `==`, то они никогда не будут одинаковыми, если только мы не сравним две переменные, которые ссылаются на один и тот же массив Итак, если мы всё же сравниваем массивы с помощью `==`, то они никогда не будут одинаковыми, если только мы не сравним две переменные, которые ссылаются на один и тот же массив.
Например: ```js run
- Мы можем получить элемент по его индексу, например `arr[0]`. - Также мы можем использовать метод `at(i)` для получения элементов с отрицательным индексом, для отрицательных значений `i`, он отступает от конца массива. В остальном он работает так же, как `arr[i]`, если `i >= 0`. - Также мы можем использовать метод `at(i)` для получения элементов с отрицательным индексом, для отрицательных значений `i` он отступает от конца массива. В остальном он работает так же, как `arr[i]`, если `i >= 0`.
Мы можем использовать массив как двустороннюю очередь, используя следующие операции: