русский  עברית
tadam logo
Нашли ошибку в тексте?
Отметьте её курсором и нажмите
Ctrl + Enter
Проверка орфографии Xhtml.co.il
Orphus system
Рассылка
Присоединитесь к списку рассылки для получения последних новостей

Введите адрес электронной почты:

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]
Была ли эта информация полезной?
   

Комментарии