Описание: Находит элементы массива, которые удовлетворяют функции фильтра. Исходный массив не изменяется.
jQuery.grep( массив, function(элементМассива, индексВМассиве), [ инвертировать ] )
Массив для поиска в нем.
function(элементМассива, индексВМассиве)
Функция для обработки каждого элемента. Первый
аргумент функции является элементом, а второй аргумент - индексом.
Функция должна возвращать логическое значение. this будет глобальным объектом окна.
Если "invert" равно false, или не предоставлен, то
функция возвращает массив, состоящий из всех элементов для которых
"функция обратного вызова" возвращает true. Если "invert" равно true, то
функция возвращает массив, состоящий из всех элементов, для которых
"функция обратного вызова" возвращает false.
Метод $.grep() удаляет элементы из массива в случае не прохождения ими теста. Только если тестирование элемента возвращает true , то элемент будет находиться в массиве результата.
Фильтрующая функция посылает два аргумента: элемент текущего массива и
его индекс. Фильтрующая функция должна вернуть 'true' для включения
элемента в массив яезультата. Примеры
Пример 1
Отфильтровывает массив чисел оставляет те числа, которые не пятерки и элементы с индексом выше 4. Затем удаляет все девятки.
var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];
$("div").text(arr.join(", "));
arr = jQuery.grep(arr, function(n, i){
return (n != 5 && i > 4);
});
$("p").text(arr.join(", "));
arr = jQuery.grep(arr, function (a) { return a != 9; });
$("span").text(arr.join(", "));
Пример 2
Отфильтровывает массив чисел оставляя лишь те, которые больше нуля.
$.grep( [0,1,2], function(n,i){
return n > 0;
});
Результат выполнения кода выше:
[1, 2] Пример 3
Отфильтровывает массив чисел оставляя лишь те, которые не больше нуля.
$.grep( [0,1,2], function(n,i){
return n > 0;
},true);
Результат выполнения кода выше:
[0]
|