1. Свойство length: как узнать размер массива
В программировании часто возникает вопрос: "Сколько всего элементов в массиве?" В JavaScript для этого есть специальное свойство массива — length.
Как это работает?
Свойство length возвращает количество элементов в массиве. Оно всегда на единицу больше последнего индекса (ведь индексация начинается с 0).
const fruits = ['яблоко', 'банан', 'груша'];
console.log(fruits.length); // 3
В нашем примере массив fruits содержит три элемента, поэтому fruits.length возвращает 3.
Важные нюансы
- length — это не метод, а свойство, поэтому скобки не нужны: fruits.length, а не fruits.length().
- Если вы добавите элемент в массив, его длина увеличится:
fruits.push('апельсин');
console.log(fruits.length); // 4
- Если удалить элемент с конца (pop), длина уменьшится:
fruits.pop();
console.log(fruits.length); // 3
Length и "дырки" в массиве
JavaScript — язык с сюрпризами. Если вы присвоите значение по индексу, который больше текущей длины массива, то массив "растянется", а между элементами появятся "пустоты":
const numbers = [1, 2, 3];
numbers[10] = 42;
console.log(numbers.length); // 11
console.log(numbers); // [1, 2, 3, <7 empty items>, 42]
Здесь numbers.length стал равен 11, но с 3 по 9 индексы — "пустые". Это не null и не undefined, а реально отсутствующие элементы (в консоли они отображаются как "empty"). С такими массивами нужно быть осторожнее при переборе!
2. Ручной перебор: обработка элементов по отдельности
Пример 1: вывести все элементы массива
const users = ['Аня', 'Борис', 'Вика'];
console.log(users[0]);
console.log(users[1]);
console.log(users[2]);
Результат в консоли:
Аня
Борис
Вика
Если бы элементов было больше, мы бы писали больше строк — для каждого элемента отдельная команда.
Пример 2: вывести все элементы в одну строку
const numbers = [1, 2, 3, 4, 5];
let result = '';
result += numbers[0] + ' ';
result += numbers[1] + ' ';
result += numbers[2] + ' ';
result += numbers[3] + ' ';
result += numbers[4] + ' ';
console.log(result); // "1 2 3 4 5 "
Пример 3: посчитать сумму всех чисел в массиве
const nums = [10, 20, 30, 40];
let sum = 0;
sum = sum + nums[0];
sum = sum + nums[1];
sum = sum + nums[2];
sum = sum + nums[3];
console.log('Сумма:', sum); // "Сумма: 100"
Пример 4: приветствие для каждого пользователя
const users = ['Аня', 'Борис', 'Вика'];
console.log('Привет, ' + users[0] + '!');
console.log('Привет, ' + users[1] + '!');
console.log('Привет, ' + users[2] + '!');
Результат:
Привет, Аня!
Привет, Борис!
Привет, Вика!
3. Индексы и значения: что можно делать вручную
Когда перебираем элементы по индексам, можем использовать оба значения:
Пример: вывести элементы с их номерами
const users = ['Аня', 'Борис', 'Вика'];
console.log('Пользователь #1: ' + users[0]);
console.log('Пользователь #2: ' + users[1]);
console.log('Пользователь #3: ' + users[2]);
Результат:
Пользователь #1: Аня
Пользователь #2: Борис
Пользователь #3: Вика
Пример: изменить элементы массива
Добавим к каждому имени восклицательный знак:
users[0] = users[0] + '!';
users[1] = users[1] + '!';
users[2] = users[2] + '!';
console.log(users); // ["Аня!", "Борис!", "Вика!"]
4. Особенность: массивы с "дырками"
Если массив "растянут", некоторые индексы могут быть не определены:
const arr = [];
arr[2] = 'hello';
console.log(arr.length); // 3
console.log(arr[0]); // undefined
console.log(arr[1]); // undefined
console.log(arr[2]); // hello
Поэтому важно проверять, существует ли значение:
if (arr[0] !== undefined) {
console.log(arr[0]);
}
if (arr[1] !== undefined) {
console.log(arr[1]);
}
if (arr[2] !== undefined) {
console.log(arr[2]);
}
5. Перебор массива с конца (вручную)
Иногда бывает нужно идти по массиву "задом наперёд":
const numbers = [10, 20, 30, 40, 50];
console.log(numbers[4]);
console.log(numbers[3]);
console.log(numbers[2]);
console.log(numbers[1]);
console.log(numbers[0]);
Результат:
50
40
30
20
10
6. Применение: выводим список задач
const tasks = ['Купить хлеб', 'Позвонить маме', 'Сделать домашку'];
console.log('Ваши задачи:');
console.log('- ' + tasks[0]);
console.log('- ' + tasks[1]);
console.log('- ' + tasks[2]);
Результат:
Ваши задачи:
- Купить хлеб
- Позвонить маме
- Сделать домашку
7. Типичные ошибки при работе с length и ручным перебором
Ошибка №1: Индексы начинаются с 1 (а не с 0). В JavaScript первый элемент — это индекс 0!
Ошибка №2: Использование length как метода (нужно без скобок!).
Ошибка №3: Путают индексы, например, случайно пишут array[3], когда элементов всего три (индексы — 0, 1, 2).
Ошибка №4: Массив с "дырками" — можно получить undefined, если элемент не был задан.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ