Функции высшего порядка - Javascript
Я работаю через Eloquent Javascript. Функцияподсчитывать принимает массив и тестовую функцию (равен (х)) в качестве аргументов и возвращает количество элементов в массиве, для которого тестовая функция вернула значение true.
Я понимаю, как эти функции работают, и что логическиВсего Аргумент для анонимной функции, переданный для приведения, имеет значение ноль.
Может ли кто-нибудь помочь мне увидеть, откуда конкретно берется ценность для общего количества? Я хочу иметь более ясную картину в моей голове.
function count(test, array) {
return reduce(function(total, element) { // Where is the value for total coming from?
return total + (test(element) ? 1 : 0);
}, 0, array);
}
function equals(x) {
return function(element) {return x === element;};
}
function countZeroes(array) {
return count(equals(0), array);
}
Уменьшить функцию от ранее:
function reduce(combine, base, array) {
forEach(array, function (element) {
base = combine(base, element);
});
return base;
}
Функция forEach от ранее:
function forEach(array, action) {
for (var i = 0; i < array.length; i++)
action(array[i]);
}