jQuery.grep()
					
					59
				
					
					посл. ред. 
					21.12.2016
				
			Функция jQuery.grep() находит все элементы массива, удовлетворяющие заданному фильтру. Функция может работать не только с массивами, но и с массивоподобными объектами со свойством length.
В качестве фильтра
 используется переданная вторым аргументом функция. Она запускается для каждого элемента массива отдельно. Если функция возвращает значение true, тогда текущий элемент включается в результирующий массив. Исходный массив остаётся без изменений.
Варианты использования
- jQuery.grep(массив, функция[, инвертировать]) => Array
- 
      Отфильтровывает массив переданной функцией. Функция может принимать два аргумента: элемент массива и его индекс.
 Необязательный третий аргумент позволяет инвертировать работу фильтра. Если он имеет значениеtrue, тогда в результирующий массив попадут элементы, для которых фильтрующая функция вернёт значениеfalse.
Примеры
<html>
<head>
  <title>Функции библиотеки jQuery</title>
  <script type="text/javascript" src="js/jquery.js"></script>
</head>
<body>
  <ul>
    <li>Элемент 1</li>
    <li>Элемент 2</li>
    <li>Элемент 3</li>
    <li>Элемент 4</li>
  </ul>
</body>
</html>
 
<script>
var list_items = document.getElementsByTagName('li');
/* Выбрать все элементы, кроме первых двух */
var items_1 = $.grep(list_items, function(elem, index) {
  return (index > 1);
});
$(items_1).css('color', 'red');
/* Выбрать первые два элемента можно, инвертировав предыдущий фильтр */
var items_2 = $.grep(list_items, function(elem, index) {
  return (index > 1);
}, true);
$(items_2).css('color', 'green');
</script>
  - Элемент 1
- Элемент 2
- Элемент 3
- Элемент 4