Другие языки программирования и технологии

Какие у массивов элементы в Javascript?

создание пустого массива

// задание значений первых двух элементов
var myArray = new Array()
myArray[0] = 'Москва'
myArray[1] = 'Хабаровск'

// создание нового массива
// и резервирование места для
// 100 переменных

var myArray = new Array(100)

// создание нового массива
// и явная инициализация первого элемента
var myArray = new Array('Элемент');

// косвенное создание массива
// из двух элменетов

var myArray = ['первый элемент', 'второй элемент']

Все массивы, независимо от способа создания, представляют собой экземпляры класса (объекта) Array. Добавление элементов производится простой инициализацией соответствующего элемента.
var myArray = new Array()

myArray[0] = 'Питер'

Массивы в JavaScript не обязательно должны быть "сплошными", т. е. содержать все элементы. При необходимости можно создавать так называемые "разреженные" массивы:

var myArray = new Array();
myArray[0] = 'Питер'
// пропустим myArray[1]
myArray[2] = 'Гомель'
// пропустим myArray[3]
myArray[4] = 'Рязань'
myArray[5] = 'Псков'

for(i = 0; i < 6; i++)
alert(myArray)

Этот код создаёт массив и заполняет только необходимые элементы. Теперь если мы попробуем получить значение не инициализированного элемента (в примере это первый и третий) , то получим "undefined". Использование разреженных массивов иногда очень удобно, но требует опыта и внимательности, поэтому на начальном этапе лучше от них отказаться. Кроме того, разреженные массивы не дают выгоды по использованию памяти, т. к. место резервируется для всех элементов, в том числе не инициализированных.

Элементами массива могут быть переменные любого типа. Интересная особенность JavaScript - массив может одновременно содержать элементы различных типов, в том числе массивы:
//
// массив с элементами разных типов
//
var myArrayS = new Array();
myArrayS[0] = 'Ярославль';
myArrayS[1] = 10000;
myArrayS[2] = 'Ямал';
myArrayS[3] = 5000;

for(i = 0; i < myArrayS.length; i += 2)
alert('Город: ' + myArrayS + '\n' +
'Население: ' + myArrayS[i + 1] + '\n')
// массив с элементами-массивами
//
var myArrayA = new Array()
myArrayA[0] = new Array('Ярославль', 10000);
myArrayA[1] = new Array('Ставрополь', 5000);

for(i = 0; i < myArrayA.length; i++)
alert('Город: ' + myArrayA[0] + '\n' +
'Население: ' + myArrayA[1] + '\n')

Класс Array содержит единственное свойство - length, позволяющее узнать текущую длину массива:

var myArray = new Array();
...
// узнать колиекчтво элементов
alert(myArray.length)

// добавить эдемент последним
myArray[myArray.length] = 'последнее значение'

значение Array.length на единицу больше номера последнего элемента массива, т. к. нумерация в массиве начинается с нуля, а свойство length показывает общее количество элементов.
Класс Array так же содержит ряд методов, существенно упрощающих некоторые рутинные операции с массивами:
Array.join() Получение списка элементов массива в виде одной строки без разделителей.
Array.join(разделитель) Получение списка элементов массива в виде одной строки, причем элементы массива разделены строкой "разделитель"
Array.reverse() Изменение порядка сортировки массива. Этот метод "переворачитвает" массив: первый элемент становится последним и наоборот.
Array.sort() Сортировка массива по алфавиту. Если массив содержит числовые данные, то при сортировке используются их строковые представления.
Array.sort(функция_сортировки) Сортировка массива по пользовательскому критерию, который задаётся с помощью собственной функции сортировки:

// функция сортировки массива
function sortByLength(a, b)
{
if(a.length > b.length) return 1;
else
if(a.length = b.length) return 0;
else return -1;
}

// инициализация массива
var myArray = new Array()
myArray[0] = 'Ярославль'
myArray[1] = 'Ямал'
myArray[2] = 'Ставрополь'
myArray[3] = 'Омск'
myArray[4] = 'Анапа'
Serghei Malai
Serghei Malai
1 155
Лучший ответ
Любые.
Рустам Сатанов
Рустам Сатанов
19 016

Похожие вопросы