Методы объекта Array
Методы | Действие |
concat([item1 [, item2 [, . . . [,itemN]]]]) | Возвращает массив, представляющий собой массив, метод которого вызывается, с добавленными в его конец элементами, заданными в качестве параметров. Если параметр сам является массивом, то добавляются все его элементы. Сам массив не изменяется. |
join(separator) | Возвращает строку — результат конкатенации всех элементов массива. Соседние элементы в строке разделены указанным в качестве параметра разделителем separator. |
pop() | Удаляет последний элемент из массива и возвращает его значение |
push([item1 [, item2 [, . . . [,itemN]]]]) | Добавляет элементы в конец массива и возвращает последний добавленный элемент. Если добавляемый элемент массив, то добавляет его как один элемент. |
reverse() | Переставляет элементы массива в обратном порядке: первый элемент становится последним, а последний первым |
shift() | Удаляет первый элемент массива и возвращает его значение |
slice(start [, end]) | Возвращает массив, содержащий часть исходного массива (сечение). Если параметр end не определен, то возвращаются все элементы от элемента с индексом start до конца массива. |
splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]]) | Удаляет заданное вторым параметром deleteCount количество элементов из массива, начиная с элемента с индексом start. Если заданы необязательные параметры item, то добавляет их вместо удаленных. Возвращает массив удаленных элементов. |
sort([имя_функции]) | Возвращает массив, элементы которого отсортированы заданным в функции методом. Если метод сортировки вызывается без параметра, то элементы сортируются по порядку возрастания номеров начальных символов в таблице ASCII. Если при вызове метода параметром указывается ссылка на функцию сортировки задана, то она должна быть написана в соответствии со следующей спецификацией: она имеет два обязательных параметра и возвращает отрицательное значение, если значение первого параметра меньше значения второго, ноль, если они равны и положительное значение, если значение первого параметра превосходит значение второго. |
unshift([item1 [, item2 [, . . . [,itemN]]]]) | Добавляет один или более элементов в начало массива и возвращает новую длину массива. |
toString() | Возвращает строку — результат конкатенации всех элементов массива. Элементы массива в строке разделены запятой ,. |
Несколько примеров использования методов объекта массив. Пусть определены два массива:
array1 = new Array("Первый","Второй","Третий");
array2 = new Array("Один","Два","Три");
Тогда метод join() первого массива array1.join() возвратит строку:
"Первый,Второй,Третий"
А его же метод array1.join(":") возвратит следующую строку:
"Первый:Второй:Третий"
Заметим, что метод toString() массива (наследуется от встроенного объекта Object и переопределяется в конструкторе String()) , вызываемый по умолчанию тогда, когда надо представить объект-массив в виде строки, по-существу вызывает его метод join() без параметра. Например, если необходимо отобразить в документе содержимое массива, то можно использовать следующий оператор:
document.write("<p>", array1, "</p>");
Результатом будет новый абзац со значениями массива array1, разделенными запятыми:
Первый,Второй,Третий
Метод sort() первого массива array1.sort() упорядочит элементы массива array1 (переставив их местами непосредственно в самом массиве array1) в алфавитном порядке:
array1[0] = "Второй"
array1[1] = "Первый"
array1[2] = "Третий"
Для сортировки массива в обратном порядке следует написать собственную функцию сортировки и передать ее имя (ссылку на нее) в метод sort() массива:
function revSort(a,b){
return (a > b) ? -1 : 1
}
Теперь вызов, например, array2.sort(revSort), отсортирует элементы массива array2 в противоположно-алфавитном порядке:
array2[0] = "Три"
array2[1] = "Один"
array2[2] = "Два"
Коль скоро некоторые методы массива возвращают массив, то к нему можно сразу же применить какой-либо метод, продолжив "точечную" нотацию. Например, array1.concat(array2).sort() объединит два массива в один новый и отсортирует его.
Массив, как объект, имеет свойство length, хранящее количество элементов массива. Добавление или удаление элементов массива (методы pop, push, shift, unshift, splice) приводит к автоматическому изменению свойства length.
Добавить в конец массива элемент можно не только с помощью методов push или splice, но и простым заданием элемента с индексом, большим индекса его последнего элемента. При этом все промежуточные элементы принимают значения undefined.
Массивы JavaScript "понимают" не только целые числовые индексы, но и индексы, заданные в виде строки. Однако следует иметь в виду, что добавление в массив элементов со строковыми индексами не приводит к увеличению значения свойства length, а это означает, что подобные "элементы" не участвуют ни в каких методах массива. Забегая вперед, поясним, что созданием элемента со строковым индексом мы на самом деле создаем новое свойство нашего конкретного объекта-массива.
Для массивов нескольких размерностей конструктор не предусмотрен. Но их можно создавать, объявляя каждый элемент одномерного массива снова одномерным массивом. Полученные элементы уже двумерного массива можно снова объявить как одномерные массивы, создав, таким образом, трехмерный массив и т. д. Следующий код создает двумерный массив размерности (4´4):
a = new Array()
for (i=0; i < 4; i++) {
a[i] = new Array()
for (j=0; j < 4; j++) {
a[i][j] = значение
}
}
Обратите внимание, что при ссылке на элементы такого массива индекс каждого размерения элемента следует задавать в самостоятельных квадратных скобках: сначала в квадратных скобках указать первый индекс, затем в других квадратных скобках второй индекс и т. д.
Объект Date
В JavaScript дата хранится в виде количества миллисекунд, прошедших от 1 января 1970 года. Диапазон хранимых дат от 250 000 до РХ до 255 000 по РХ.
Для создание объекта даты используется конструктор Date() с различными параметрами:
имя_объекта = new Date([параметры]);
Если в конструкторе параметры отсутствуют, то значением объекта будет текущая дата:
today = new Date()
Параметром конструктора может быть строка вида:
"месяц день, год часы:минуты:секунды"
Если при этом опустить значения часов, минут и секунд, то по умолчанию они будут иметь значения 0. Месяц следует задавать в английском правописании, сокращая до трех букв, причем первую букву слова не обязательно задавать прописной:
Xmas = new Date("January 7, 2004 00:00:00")
Xmas = new Date("Jan 7, 2004 00:00:00")
Xmas = new Date("jan 7, 2004 00:00:00")
В конструкторе можно задать список параметров, определяющих год, месяц и день с необязательными часами, минутами и секундами (отсчет месяцев начинается с 0 — январь):
Xmas = new Date(2004, 0, 7)
Xmas = new Date(2004, 0, 7, 0)
Дата добавления: 2018-09-24; просмотров: 325;