length у массива в JavaScript
- Что такое length у массива
- Синтаксис
- Пустой массив
- Автоматическое изменение length
- Последний элемент
- Изменение length вручную
- length и индексы
- Итого
length у массива показывает его длину.
let fruits = ['apple', 'orange', 'banana'];
console.log(fruits.length);
Результат:
3
В массиве три элемента, поэтому свойство length вернуло число 3.
Что такое length у массива
length - это свойство массива. Оно хранит число, которое связано с количеством элементов и индексами массива.
В обычном массиве без пропусков length совпадает с количеством элементов.
let numbers = [10, 20, 30, 40];
console.log(numbers.length);
Результат:
4
Синтаксис
length пишется через точку после имени массива.
array.length
Это свойство, а не метод, поэтому круглые скобки не нужны.
let users = ['Анна', 'Олег'];
console.log(users.length); // правильно
Так писать не нужно:
let users = ['Анна', 'Олег'];
console.log(users.length());
У length нет вызова как у функции.
Пустой массив
У пустого массива длина равна 0.
let users = [];
console.log(users.length);
Результат:
0
Это часто используют, когда нужно проверить, есть ли в массиве элементы.
let tasks = [];
if (tasks.length === 0) {
console.log('Задач пока нет');
}
Автоматическое изменение length
Когда массив меняется, length обновляется автоматически.
let fruits = ['apple'];
console.log(fruits.length); // 1
fruits.push('orange');
console.log(fruits.length); // 2
При удалении элементов длина тоже меняется.
let fruits = ['apple', 'orange', 'banana'];
fruits.pop();
console.log(fruits.length); // 2
Последний элемент
Индексы массива начинаются с 0. Поэтому индекс последнего элемента равен length - 1.
let fruits = ['apple', 'orange', 'banana'];
console.log(fruits[fruits.length - 1]);
Результат:
banana
Если массив пустой, последнего элемента нет.
let fruits = [];
console.log(fruits[fruits.length - 1]); // undefined
Изменение length вручную
length можно изменить вручную, но в обычном коде это делают нечасто.
Если уменьшить длину, JavaScript удалит элементы в конце массива.
let numbers = [10, 20, 30, 40];
numbers.length = 2;
console.log(numbers);
Результат:
[10, 20]
Если поставить length равным 0, массив очистится.
let numbers = [10, 20, 30];
numbers.length = 0;
console.log(numbers); // []
length и индексы
Технически length равен последнему индексу массива плюс один.
let numbers = [];
numbers[3] = 100;
console.log(numbers.length);
Результат:
4
В массиве появилось значение с индексом 3, поэтому длина стала 4. Индексы 0, 1 и 2 при этом не получили обычных значений.
На практике лучше добавлять элементы через push() или по следующему индексу, чтобы не создавать такие пропуски случайно.
Итого
length у массива возвращает его длину.
array.lengthпишется без круглых скобок.- У пустого массива
lengthравен0. lengthобновляется при добавлении и удалении элементов.- Последний элемент можно получить через
array[array.length - 1]. - Если уменьшить
length, элементы в конце массива удалятся.