Массив – это хранилище данных, позволяющее обращаться к данным в виде «ключ – значение». Обычные массивы в качестве ключа используют числовые значения, ассоциативные – строковые значения. Ассоциативный массив является неким подобием коллекций и классов. Язык Javascript, как это ни странно, также поддерживает работу с ассоциативными массивами. Странным это является в основном для тех, кто помнит Javascript до появления jQuery, который очень упростил жизнь Javascript-разработчикам.
Обычные одномерные массивы в Javascript
В коде с комментариями видно, как объявлять, заполнять и обращаться к элементам массива:
//Объявление массива mySimpleArray = new Array(); mySimpleStringArray = new Array(); //Заполнение массива mySimpleArray[0] = 1; mySimpleArray[1] = 2; //Так тоже можно заполнить, тогда можно не объявлять массив заранее. Но лучше взять за привычку объявлять всегда mySimpleArray = [0, 2,4,5]; mySimpleStringArray = ['Облако', 'Небо', 'Дождь', 'Ветер']; //Обращение к элементу массива alert(mySimpleArray[1]); alert(mySimpleStringArray[1]); //Обход массива for (i = 0; i < mySimpleArray.length; i++) { alert(mySimpleArray[i]); }
Помните, что при обращении к несуществующим индексам массива вы получите сообщение об ошибке.
Ассоциативные одномерные массивы в Javascript
//Объявление массива mySimpleAssocArray = new Array(); mySimpleAssocStringArray = new Array(); //Заполнение массива, 1 вариант mySimpleAssocStringArray['weights'] = [1, 4, 5, 3]; mySimpleAssocStringArray['fruit'] = ['яблоко', 'груша', 'абрикос', 'слива']; //Заполнение массива, 2 вариант var mySimpleAssocArray = { 'fruit' : ['яблоко', 'груша', 'абрикос', 'слива'], 'weights' : [1, 4, 5, 3] } //Обращение к элементу массива alert(mySimpleAssocStringArray.fruit[0]); alert(mySimpleAssocStringArray['fruit'][0]); for (i = 0; i < mySimpleAssocStringArray.fruit.length; i++) { alert(mySimpleAssocStringArray.fruit[i] + ': ' + mySimpleAssocStringArray.weights[i] + 'кг'); } for (i = 0; i < mySimpleAssocArray.fruit.length; i++) { alert(mySimpleAssocArray.fruit[i] + ': ' + mySimpleAssocArray.weights[i] + 'кг'); }
При обращении к несуществующему индексу вы получите сообщение об ошибке.