Основы программирования на JavaScript



Массивы - часть 4


Еще две полезные функции для работы с массивами - "pop" и "shift". Функция "pop" удаляет последний элемент из массива и возвращает его. Функция "shift" удаляет первый элемент из массива и возвращает его.

var students = ['Sam', 'Joe', 'Sue', 'Beth'];

while(students.length>0){ alert(students.pop()); }

К сожалению, при этом массив был уничтожен: он теперь пуст. Иногда именно это и надо сделать. Если требуется просто очистить массив, то проще всего задать его длину (length) равной 0:

students.length = 0

Теперь массив пуст. Даже если снова задать длину массива больше 0, все данные в массиве уже будут уничтожены.

Все использованные до сих пор массивы называются "индексными массивами", так как каждый элемент массива имеет индекс, который необходимо использовать для доступа к элементу. Существуют также "ассоциативные массивы", в которых каждый элемент массива ассоциирован с именем в противоположность индексу:

var grades = []; grades['Sam'] = 90; grades['Joe'] = 85; grades['Sue'] = 94; grades['Beth'] = 82;

Ассоциативные массивы действуют немного иначе, чем индексные. Прежде всего, длина массива в этом примере будет равна 0. Как же узнать, какие элементы находятся в массиве? Единственный способ сделать это - использовать цикл "for-in ":

for(student in grades){ alert("Оценка " + student + "будет: " + grades[student]); }

Синтаксис цикла "for-in " следующий: " for(item in object){ ". Цикл пройдет через все элементы в объекте, и элемент будет именем элемента. В данном случае элементом является "Sam ", затем " Joe ", " Sue " и " Beth ".

Последнее замечание о массивах состоит в том, что в действительности можно объединять ассоциативные и индексные массивы, хотя это обычно не рекомендуется, так как может вызывать некоторые проблемы. При правильном использовании, однако, можно с успехом это применять.

var students = ['Sam', 'Joe', 'Sue', 'Beth'];




Содержание  Назад  Вперед