Очень часто нужно отфильтровать массив javascript. Тут целых 3 способа: функция slice(), функция grep(), цикл при котором создаётся новый массив на основе старого. Остановимся на функции grep(). Посмотрите на код что ниже.
var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9 ];
console.log(arr.join(", "));
// очистка массива по индексу и значению
arr = jQuery.grep(arr, function(n, i){
/* верни элементы массива у которых
порядок в массиве (индекс) больше 4 и
значение не равно 5*/
return (n != 5 && i > 4);
});
console.log(arr.join(", "));
Обратите внимание на условие n != 5 && i > 4. Тут используются значения массива и позиция элемента (индекс). Условий может быть много. Функция grep() хороша тем, что она не создаёт новый массив, а удаляет элементы внутри массива.
var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9 ];
// вторая очистка массива по значению
arr = jQuery.grep(arr, function (a) { return a != 9; });
console.log(arr.join(", "));
// вывод: 1, 3, 8, 6, 1, 5, 4, 7, 3, 8, 6
В примере выше удаляются значения равные 9. Остальные элементы остаются на своих местах. Эта функция очень хороший фильтр. О массивах читайте в статье массивы в javascript