length у массива в JavaScript

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, элементы в конце массива удалятся.