Книга: JavaScript. Подробное руководство, 6-е издание

7.9.3. Метод filter()

7.9.3. Метод filter()

Метод filter() возвращает массив, содержащий подмножество элементов исходного массива. Передаваемая ему функция должна быть функцией-предикатом, т.е. должна возвращать значение true или false. Метод filter() вызывает функцию точно так же, как методы forEach() и map(). Если возвращается true или значение, которое может быть преобразовано в true, переданный функции элемент считается членом подмножества и добавляется в массив, возвращаемый методом. Например:

а = [5, 4, 3, 2, 1];
smallvalues = a.filter(function(x) { return х < 3 }); // [2, 1]
everyother = a.filter(function(x,і) { return і%2==0 }); // [5, 3, 1]

Обратите внимание, что метод filter() пропускает отсутствующие элементы в разреженных массивах и всегда возвращает плотные массивы. Чтобы уплотнить разреженный массив, можно выполнить следующие действия:

var dense = sparse.filter(function() { return true; });

А чтобы уплотнить массив и удалить из него все элементы со значениями undefined и null, можно использовать метод filter(), как показано ниже:

а = a.filter(function(x) { return х !== undefined && х != null; });

Оглавление книги


Генерация: 0.607. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз