DeeDi - трезвые записки

$.grep(array, func, [invert])

Отыскивает элементы по заданному фильтру. Исходный массив не изменяется.
array - исходный массив, в котором ищем элементы.
func (n, i) - фильтр-функция для обработки каждого элемента массива. Аргументы функции - n - текущий элемент массива и i - его индекс.
invert (опционально) - если invert задано в false или не указано вовсе, функция вернет массив, состоящий из элементов для который функция в аргументе func возвратила true. Если invert == true, функция вернет массив, состоящий из элементов для которых функция в аргументе func возвратила false. Иными словами установка invert=true "переворачивает" результат поиска.
Если Вам необходимо остановить цикл each() на конкретной итерации, то нужно лишь заставить Вашу функцию возвратить false, в противном случае, цикл продолжится.

Пример. Создаем массив чисел myArray. Для наглядности "вытягиbаем" массив в строку myString c помощью js-метода join() и полученную строку пишем в элемент div. Затем отфильтровываем массив, убирая цифры 5 и оставляя элементы с индексом выше 4. Также для наглядности массив вытягиваем в строку и результат пишем в p. И последнее применение фильтра - удаляем все девятки, аналогично результат пишем в span. :

//HTML/CSS<style>
#example_j{border:solid 1px #999; padding:10px}
#example_j div { color:blue; }
#example_j p { color:green;}
#example_j span { color:red; }
</style>
<div id="example_j">
<div></div>
<p></p>
<span></span>
</div>
//jQuery myArray = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];
myString = myArray.join(", ");
$("#example_j div").text(myString);
myArray = jQuery.grep(myArray, function(n, i){
return (n != 5 && i > 4);
});
myString = myArray.join(", ");
$("#example_j p").text(myString);
myArray = jQuery.grep(myArray, function (a) { return a != 9; });
myString = myArray.join(", ");
$("#example_j span").text(myString);

Боковой текст: