Глобальний об'єкт JavaScript Array - це конструктор для масивів, які на високому рівні є спископодібними об'єктами.
arrayObj = new Array();
arrayObj = new Array([size]);
arrayObj = new Array([element0[, element1[, ...[, elementN]]]]);
arrayObj = [];
arrayObj = [element0, ..., elementN];
arrayObj - Ім'я змінної, якій присвоюється об'єкт Array.
size - Необов'язковий параметр. Розмір масиву. Оскільки масиви відраховуються від нуля, створеним елементам присвоюються індекси від нуля до size -1.
element0, ..., elementN - Необов'язковий. Елементи, які потрібно помістити в масив. Створює масив з числом елементів n + 1 і значенням length, рівним n + 1. При використанні даного синтаксису необхідно вказувати більше одного елемента.
Масиви є спископодібними об'єктами, чиї прототипи містять методи для операцій обходу змінних масиву. Ні розмір JavaScript-масиву, ні типи його елементів не є фіксованими. Оскільки розмір масиву може збільшуватися і зменшуватися в будь-який час, то немає гарантії, що масив виявиться щільним. Тобто, при роботі з масивом може виникнути ситуація, що елемент масиву, до якого ви звернетеся, буде порожнім і поверне undefined. В цілому, це зручна характеристика але якщо ця особливість масиву не бажана в вашому специфічному випадку, ви можете розглянути можливість використання типізованих масивів.
Для доступу до окремих елементів створеного масиву використовуються квадратні дужки "[]". Масиви в JavaScript індексуються з нуля: перший елемент масиву має індекс, що дорівнює 0, а індекс останнього елемента дорівнює значенню length-1.
var mas= new Array(1,2,3,4);
mas[0]; //перший елемент масиву з індексом 0 і має значення "1"
alert(mas[0]+" "+mas[1]+" "+mas[mas.length-1]); // "1 2 4"
Властивість масивів length взаємопов'язане з числовими властивостями. Деякі вбудовані методи масиву (наприклад, join, slice, indexOf і т.д.) враховують значення властивості length при своєму виклику. Інші методи (наприклад, push, splice і т.д.) в результаті своєї роботи також оновлюють властивість length масиву.
Індекси можна брати в лапки (наприклад mas[ '2'] замість mas[2]), але в цьому немає необхідності. Значення 2 в вираженні mas[2] буде неявно приведено до рядка движком JavaScript через метод перетворення toString. Саме з цієї причини ключі '2' і '02' будуть посилатися на два різних елемента в об'єкті mas.
var mas= new Array("h",8,10);
alert('"2": '+mas["2"]+' "02":'+mas["02"]+' 02: '+mas[02]);
Елементи масиву є властивостями, точно такими ж, як, наприклад, властивість toString, проте спроба отримати елемент масиву по імені (індексу) його властивості випаде з синтаксичної помилкою (якщо індекс числовий), оскільки ім'я властивості не є допустимим ім'ям JavaScript. Це не особливість масивів або їх властивостей. В JavaScript до властивостей, що починається з цифри, неможливо звернутися за допомогою точкової нотації (mas.1); до них можна звернутися тільки за допомогою скобковою нотацією. А от якщо індекс буде містити букву то таке звернення можливе:
var mas = new Array();
mas["G"]=5.4;
alert(mas.G);
У JavaScript елементу масиву можна присвоювати будь який тип даних: рядок, число, Object, Date, Function, Array.
var mas=new Array();
mas[0] = "масив";
mas[1] = 15;
mas[2] = {name:"test"};
mas[3] = new Date();
mas[4] = function(a,b){return a+b;}
mas[5] = [1, 2, 3];
alert(mas);
Для проходження масиву використовують цикли. Зазвичай це for але також використовують for...in, for...of.
var mas = new Array(1,2,'1+1');
for(i=0; i<mas.length; i++){
alert( mas[i] );
}
var mas = new Array(1,2,'1+1');
for(i in mas){
alert( mas[i] );
}
var mas = new Array(1,2,'1+1');
for(a of mas){
alert( a );
}
Двохвимірний масив це масив елементи якого містять значення масив. Звертатися до елементу двохвимірного масиву необхідно за вказанням двох індексів array[index1][index2].
var arr = [
[1,2,3],
[4,5,6],
[7,8,9],
];
alert(arr[0][2]); //3
// створюємо двохвимірний масив
var mas=new Array();
var n=5,m=5;
for(i=0;i<n;i++)
mas[i]=new Array(m);
//заповнюємо двохвимрний масив
for(i=0;i<n;i++)
for(j=0;j<m;j++)
mas[i][j]=Math.random(); //присвоюємо елементу випадкове число
//звертаємося до елемента в двохвимірному масиві
mas[0][0];
alert( mas[0][2] );
За принципом присвоєнню значенню елементу масиву інший масив у JavaScript можна створювати багатовимірний масив. Це дозволяє створювати масив двохвимірний, трьохвимірний, чотирьохвимірний і т. д.
// створюємо трьохвимірний масив
var mas=new Array();
var n=4, m=5, l=5;
for(i=0;i<n;i++)
{
mas[i]=new Array(m);
for(j=0;j<m;j++)
mas[i][j]=new Array(l);
}
//заповнюємо трьохвимірний масив
for(i=0;i<n;i++)
for(j=0;j<m;j++)
for(z=0;z<l;z++)
mas[i][j][z]=i.toString()+j.toString()+z.toString(); //присвоюємо елементу значення ijz
//звертаємося до елемента в трьохвимірному масиві
mas[1][0][2];
alert( mas[2][0][2] );
Методи які змінюють масив:
Методи які не змінюють масив, а просто повертають його в іншому поданні:
Методи обходу масиву:
var mas = new Array(1,2,3,4,5);
alert(mas);
var mas = new Array('Іван', 'Петро', 'Василь', 'Олег');
mas.push('Міша');
alert(mas);
var arr = [1,'два', '3', 'чотири', 5];
alert(arr);