jQuery.grep( массив, function(элементМассива, индексВМассиве), [ инвертировать ])
Возвращает: Массив
Описание: Находит элементы массива, которые удовлетворяют функции фильтра. Исходный массив не изменяется.
jQuery.grep( массив, function(элементМассива, индексВМассиве), [ инвертировать ] )
Добавлена в версию: 1.0
массив
Массив для поиска в нем.
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(", "));
Пример 1 - Полный код:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript" language="javascript"> $(document).ready(function(){ 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(", ")); }); </script> <style> div { color:blue; } p { color:green; margin:0; } span { color:red; } </style> </head> <body> <div></div> <p></p> <span></span> </body> </html>
Пример 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]
Была ли эта информация полезной?

