Набор функций для работы с массивами.
Включает реализацию функций, которые отсутствуют в некоторых браузерах, но содержатся в новых стандартах (ECMA).
Находится в базовом файле y5.js.
everyJS 1.6
every(callback, thisObject) -> Boolean — true - если все функции проверки вернули true, иначе - false
Тестирование каждого элемента массива при помощи функции проверки.
Результатом тестирования массива является true, если все функции проверки вернули true. Иначе результатом тестирования массива будет false.
Имя аргумента | Тип | Описание |
---|---|---|
callback | Function | функция для проверки элемента массива (должна возвращать true или false) |
thisObject | Object | контекст выполнения функции проверки |
Пример:
function isBigEnough(element, index, array) { return (element >= 10); } var passed = [12, 5, 8, 130, 44].every(isBigEnough); // passed == false passed = [12, 54, 18, 130, 44].every(isBigEnough); // passed == true
filterJS 1.6
filter(callback, thisObject) -> Array — массив
Фильтрация элементов массива.
Возвращает новый массив, который состоит из элементов, прошедших функцию проверки, т.е. удовлетворяющих определенным условиям.
Исходный массив не изменяется.
Имя аргумента | Тип | Описание |
---|---|---|
callback | Function | функция для проверки элемента массива (должна возвращать true или false) |
thisObject | Object | контекст выполнения функции проверки |
Пример:
function isBigEnough(element, index, array) { return (element >= 10); } var filtered = [12, 5, 8, 130, 44].filter(isBigEnough); // filtered == [12, 130, 44]
forEachJS 1.6
forEach(callback, thisObject)
Обработка каждого элемента массива заданной функцией.
Имя аргумента | Тип | Описание |
---|---|---|
callback | Function | функция, выполняемая для каждого элемента |
thisObject | Object | контекст выполнения функции |
Пример:
function printElt(element, index, array) { print("[" + index + "] == " + element); } [2, 5, 9].forEach(printElt); // Печатает: // [0] == 2 // [1] == 5 // [2] == 9
indexOfJS 1.6
indexOf(searchElement, fromIndex) -> Number — индекс искомого элемента
Поиск элемента массива.
Ищет заданный элемент с начала массива и возвращает его индекс или -1, если необходимого элемента в массиве нет.
Имя аргумента | Тип | Описание |
---|---|---|
searchElement | Object | искомый элемент |
fromIndex | Number | индекс, с которого ищется элемент (по умолчанию с первого элемента массива) |
Пример:
var a = [2, 5, 9]; var i = a.indexOf(2); // i == 0 i = a.indexOf(7); // i == -1
lastIndexOfJS 1.6
lastIndexOf(searchElement, fromIndex) -> Number — индекс искомого элемента
Обратный поиск элемента массива.
Ищет заданный элемент с конца массива и возвращает его индекс или -1, если необходимого элемента в массиве нет.
Имя аргумента | Тип | Описание |
---|---|---|
searchElement | Object | искомый элемент |
fromIndex | Number | индекс, с которого ищется элемент (по умолчанию с последнего элемента массива) |
Пример:
var array = [2, 5, 9, 2]; var index = array.lastIndexOf(2); // index == 3 index = array.lastIndexOf(7); // index == -1 index = array.lastIndexOf(2, 3); // index == 3 index = array.lastIndexOf(2, 2); // index == 0 index = array.lastIndexOf(2, -2); // index == 0 index = array.lastIndexOf(2, -1); // index == 3
mapJS 1.6
map(callback, thisObject) -> Array — массив элементов
Обработка каждого элемента массива заданной функцией.
Создает новый массив с результатами выполнения функции для каждого элемента массива.
Исходный массив не изменяется.
Имя аргумента | Тип | Описание |
---|---|---|
callback | Function | функция, выполняемая для каждого элемента |
thisObject | Object | контекст выполнения функции |
Пример:
var numbers = [1, 4, 9]; var roots = numbers.map(Math.sqrt); // roots == [1, 2, 3] // numbers == [1, 4, 9]
popJS 1.2
pop() -> Object — удаленный элемент массива
Удаление последнего элемента массива.
Возвращает удаляемый элемент.
Функция изменяет исходный массив.
Пример:
var a = [1, 2, 3, 4]; a.pop(); // -> 4 // a == [1, 2, 3] var i = []; typeof i.pop(); // -> "undefined" // i == []
pushJS 1.2
push(element1, element2, elementN) -> Number — длина полученного массива
Добавление элемента в конец массива.
Возвращает длину полученного массива.
Функция изменяет исходный массив.
Имя аргумента | Тип | Описание |
---|---|---|
element1 | Object | элемент добавляемый в конец массива |
element2 | Object | |
elementN | Object |
Пример:
var a = ["Mars", "Pluto", "Mercury"]; a.push("Venus"); // a == ["Mars", "Pluto", "Mercury", "Venus"] // a.length == 4
reduceJS 1.8
reduce(callback, initial)
Обработка слева направо соседних элементов массива заданной функцией. Функция применяется одновременно к двум элементам массива и превращает их в одно значение.
Функция изменяет исходный массив.
Имя аргумента | Тип | Описание |
---|---|---|
callback | Function | функция, выполняемая для каждого элемента |
initial | Object | начальное значение |
Пример:
[0, 1, 2, 3, 4].reduce(function(previousValue, currentValue, index, array) { return previousValue + currentValue; }); // 10
reduceRightJS 1.8
reduceRight(callback, initial)
Обработка cправа налево соседних элементов массива заданной функцией. Функция применяется одновременно к двум элементам массива и превращает их в одно значение.
Функция изменяет исходный массив.
Имя аргумента | Тип | Описание |
---|---|---|
callback | Function | функция выполняемая для каждого элемента |
initial | Object | начальное значение |
Пример:
[0, 1, 2, 3, 4].reduceRight(function(previousValue, currentValue, index, array) { return previousValue + currentValue; }); // 10
shiftJS 1.2
shift() -> Object — удаленный элемент массива
Удаление первого элемента массива. Возвращает удаляемый элемент.
Функция изменяет исходный массив.
Пример:
var a = [1, 2, 3, 4]; a.shift(); // -> 1 // a == [2, 3, 4] var i = []; typeof i.shift(); // -> "undefined" // i == []
someJS 1.6
some(callback, thisObject)
Тестирование каждого элемента массива при помощи функции проверки. Результатом тестирования массива является true, если хотя бы один элемент прошел успешную проверку. Иначе результатом тестирования массива будет false.
Имя аргумента | Тип | Описание |
---|---|---|
callback | Function | функция, выполняемая для каждого элемента |
thisObject | Object | контекст выполнения функции |
Пример:
function isBigEnough(element, index, array) { return (element >= 10); } var passed = [2, 5, 8, 1, 4].some(isBigEnough); // passed == false passed = [12, 5, 8, 1, 4].some(isBigEnough); // passed == true
spliceJS 1.2
splice(start, deleteCount, element1, element2, ..., elementN) -> Array — удаленные элементы массива
Изменение содержимого массива. Позволяет удалить часть элементов массива и одновременно добавить новые. Возвращает массив удаленных элементов.
Функция изменяет исходный массив.
Имя аргумента | Тип | Описание |
---|---|---|
start | Number | индекс, с которого изменяется массив |
deleteCount | Number | количество удаляемых элементов (если 0 или не указан, то элементы не удаляются) |
element1 | Object | элемент, добавляемый в массив (если элемент не определен, то функция просто удаляет элементы из массива) |
element2 | Object | |
... | Object | |
elementN | Object |
Пример:
var a = [1, 2, 3, 4, 5]; a.splice(1, 3); // удаленные элементы -> [2, 3, 4] // a == [1, 5] var i = [1, 2, 3, 4, 5]; i.splice(1, 2, 6, "foo"); // удаленные элементы -> [2, 3] // i == [1, 6, "foo", 4, 5]
unshiftJS 1.2
unshift(element1, element2, elementN) -> Number — длина полученного массива
Добавление элемента в начало массива. Возвращает длину полученного массива.
Функция изменяет исходный массив.
Имя аргумента | Тип | Описание |
---|---|---|
element1 | Object | элемент, добавляемый в начало массива |
element2 | Object | |
elementN | Object |
Пример:
var a = ["Mars", "Pluto", "Mercury"]; a.unshift("Venus"); // a == ["Venus", "Mars", "Pluto", "Mercury"] // a.length == 4