Масиви

javascript.ru/basic/array

learn.javascript.ru/array-methods

Визначення масива

Масив - впорядкований набір елементів, що зберігаються послідовно, мають порядковий номер (індекс).

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

В JavaScript масиви можуть складатися з різнотипних елементів, елементи масива можна змінювати. В деяких мовах програмування масиви є статичними, незмінними.

Створення масива:

let a = [];    // порожній масив
let m = [3, 5, 7];
let x = 'a',
    y = 70.5,
    z = [1, 1, 1];
let arr = ['hello', x, NaN, y, false, z, {}];

Масиви мають властивість .length - довжина масива, кількість елементів в масиві.

console.log('Довжина масива:', arr.length);
console.dir(arr);

Елементи масива можна міняти:

arr[0] = 42;
arr[1] = 'hey!';
arr[arr.length - 1] = [];
console.log(arr);

Елементи масива можна задавати:

let a = [];
a[12] = -17;
console.log(a.length);
console.log(a);

При цьому елементи з 0 по 11 будуть створені, але матимуть тип undefined.

Елементи можна добавляти в кінець:

a[a.length] = 'добавити';
a[a.length] = 'в';
a[a.length] = 'кінець';
console.log(a.length);
console.log(a);

Елементи можна видаляти:

delete a[13];
a[14] = undefined;
console.log(a.length);
console.log(a);

Створіть двовимірний масив 3 х 3, заповнений числами від 1 до 9, виведіть в консоль.

Звернення до елементів другого порядку:

a[1][0] = 400;
a[1][1] = 500;
a[1][2] = 600;

Перебор такого масива здійснюється двома циклами:

for (let i = 0; i < a.length; i++) {
  for (let j = 0; j < a[i].length; j++) {
    console.log(a[i][j]++);
  }
}
console.log(a);

Також можуть бути багатовимірні масиви.

В JavaScript немає ніякого обмеження на вкладеність масивів один в один, використання будь-яких елементів як елементів масивів.

В багатьох строготипізованих мовах програмування багатовимірні масиви можуть бути лише "прямокутні", "паралелепіпедні" і т.д. - це називається матриця.

В JS таких матриць не існує, оскільки сусідні внутрішні масиви можуть мати будь-яку розмірність, чи навіть можуть бути не масивами.