◐ Shell
clean mode source ↗

fix: clarify point and correct spelling in array article.md ru by front42 · Pull Request #2128 · javascript-tutorial/ru.javascript.info

Expand Up @@ -23,9 +23,9 @@ let arr = []; let fruits = ["Яблоко", "Апельсин", "Слива"]; ```
Элементы массива нумеруются, начиная с нуля. Элементы массива индексируются, начиная с нуля.
Мы можем получить элемент, указав его номер в квадратных скобках: Мы можем получить элемент, указав его индекс в квадратных скобках:
```js run let fruits = ["Яблоко", "Апельсин", "Слива"]; Expand Down Expand Up @@ -121,7 +121,7 @@ alert( fruits.at(-1) ); // Plum Другими словами, `arr.at(i)`:
- это ровно то же самое, что и `arr[i]`, если `i >= 0`. - для отрицательных значений `i`, он отступает от конца массива. - для отрицательных значений `i` он отступает от конца массива.
## Методы pop/push, shift/unshift
Expand Down Expand Up @@ -277,12 +277,12 @@ fruits.age = 25; // создаём свойство с произвольным fruits.shift(); // удаляем первый элемент с начала ```
Просто взять и удалить элемент с номером `0` недостаточно. Нужно также заново пронумеровать остальные элементы. Просто взять и удалить элемент с индексом `0` недостаточно. Нужно также заново переиндексировать остальные элементы.
Операция `shift` должна выполнить 3 действия:
1. Удалить элемент с индексом `0`. 2. Сдвинуть все элементы влево, заново пронумеровать их, заменив `1` на `0`, `2` на `1` и т.д. 2. Сдвинуть все элементы влево и обновить их индексы, заменив `1` на `0`, `2` на `1` и т.д. 3. Обновить свойство `length` .
![](array-shift.svg) Expand Down Expand Up @@ -330,7 +330,7 @@ for (let fruit of fruits) { } ```
Цикл `for..of` не предоставляет доступа к номеру текущего элемента, только к его значению, но в большинстве случаев этого достаточно. А также это короче. Цикл `for..of` не предоставляет доступа к индексу текущего элемента, только к его значению, но в большинстве случаев этого достаточно. А также это короче.
Технически, так как массив является объектом, можно использовать и вариант `for..in`:
Expand Down Expand Up @@ -410,7 +410,7 @@ alert( arr.length ); // length 2
Как мы видим, в коде, представленном выше, в `new Array(number)` все элементы равны `undefined`.
Чтобы избежать появления таких неожиданных ситуаций, мы обычно используем квадратные скобки, если, конечно, не знаем точно, что по какой-то причине нужен именно `Array`. Чтобы избежать появления таких неожиданных ситуаций, мы обычно используем квадратные скобки, если, конечно, не знаем точно, что по какой-то причине нужен именно `new Array`.
## Многомерные массивы
Expand Down Expand Up @@ -472,7 +472,7 @@ alert( "1,2" + 1 ); // "1,21"
Оператор строгого равенства `===` ещё проще, так как он не преобразует типы.
Итак, если мы всё же сравниваем массивы с помощью `==`, то они никогда не будут одинаковыми, если только мы не сравним две переменные, которые ссылаются на один и тот же массив Итак, если мы всё же сравниваем массивы с помощью `==`, то они никогда не будут одинаковыми, если только мы не сравним две переменные, которые ссылаются на один и тот же массив.
Например: ```js run Expand Down Expand Up @@ -528,7 +528,7 @@ let arr = new Array(item1, item2...); Получение элементов:
- Мы можем получить элемент по его индексу, например `arr[0]`. - Также мы можем использовать метод `at(i)` для получения элементов с отрицательным индексом, для отрицательных значений `i`, он отступает от конца массива. В остальном он работает так же, как `arr[i]`, если `i >= 0`. - Также мы можем использовать метод `at(i)` для получения элементов с отрицательным индексом, для отрицательных значений `i` он отступает от конца массива. В остальном он работает так же, как `arr[i]`, если `i >= 0`.
Мы можем использовать массив как двустороннюю очередь, используя следующие операции:
Expand Down