Многомерные массивы в JavaScript

Многомерные массивы в JavaScript

От автора: приветствую вас, друзья. Продолжаем работать с массивами в 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. Удачи!

Курс по JavaScript: основы

Изучите JavaScript с нуля до результата!

Смотреть курс

Метки:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree