Багатовимірні масиви в JavaScript

29

Від автора: вітаю вас, друзі. Продовжуємо працювати з масивами в JavaScript. У цій статті ми познайомимося з так званими багатовимірними масивами в JavaScript, а також розглянемо деякі особливості роботи з масивами в мові JavaScript.

В масив, як ми вже знаємо, можна покласти будь-яке значення: рядок або число. Також в масив при бажанні можна зберегти і об’єкт:

var names = [‘John’, ‘James’, ‘Jane’, {name1: ‘Іванов’, name2: ‘Петров’, name3: ‘Сидоров’}];
console.log(names);

Отримати доступ до будь-якого властивості об’єкта — не складно:

console.log(names[3].name1); // Іванов

Можливість зберігати об’єкти в масиві використовується не часто, але така можливість є. Крім цього ми можемо зберігати в масиві вкладені масиви. У цьому випадку масив називається багатовимірним, тобто масивом з більш ніж одним рівнем. Ось як це виглядає на практиці:

var names = [
[‘Іван’, ‘Петро’],
[‘Іванов’, ‘Петров’]
];
console.log(names);

Тут ми в першому елементі, з ключем 0, батьківського масиву зберігаємо імена, а у другому, з ключем 1, зберігаємо прізвища. Виведемо прізвища та імена, відповідні їм:

console.log(names[0][0] + » + names[1][0]); // Іван Іванов
console.log(names[0][1] + » + names[1][1]); // Петро Петрів

Якщо імен і відповідних їм прізвищ багато, тоді для виведення їх нам, звичайно ж, знадобиться цикл. Приблизно так можна вирішити завдання:

for(var i = 0; i < names.length; i++){
console.log(names[0] + » + names[1]);
}

І, нарешті, поговоримо про деякі нюанси роботи з масивами, зокрема про властивість length. Як ви пам’ятаєте, ця властивість повертає довжину масиву. Іноді я міг говорити, що length поверне кількість елементів масиву. Насправді це не зовсім так, і я казав кількості елементів виключно для того, щоб вам було зрозуміліше на перших порах.

Насправді властивість length повертає останній індекс масиву + 1. Ви можете сказати, що це і буде кількістю елементів масиву, якщо нумерація масиву починається з нуля. Все правильно. Ось тільки нумерація масиву не обов’язково може починатися з нуля. Приклад:

var names = [];
names[5] = ‘John’;

Ми оголосили масив і поклали в нього всього один елемент з ключем 5. Якщо зараз ми порахуємо довжину масиву, то з подивом виявимо, що вона не дорівнює 1, а 6:

console.log(names.length); // 6

JavaScript вважає не тільки значущий елемент, але і всі інші, незаповнені елементи, починаючи з 0. Врахуйте це, якщо зіткнетеся з таким масивом.

Ще однією цікавою особливістю властивості length є те, що через нього ми можемо впливати на сам масив, зменшуючи його довжину. Простий приклад:

var names = [‘John’, ‘James’, ‘Jane’, ‘Jake’];
console.log(names);
names.length = 2;
console.log(names);

Таким чином ми скоротили кількість елементів масиву до двох, інші елементи при цьому були видалені. Звідси ми можемо взяти простий спосіб видалення всіх елементів масиву, зробивши його порожнім при необхідності:

var names = [‘John’, ‘James’, ‘Jane’, ‘Jake’];
names.length = 0;
console.log(names); // []

Якщо ви хочете більше дізнатися про JavaScript, тоді рекомендую звернути свою увагу на уроки по JavaScript і окремий курс по мові JavaScript. Удачі!