在《Eloquent Javascript》中,作者要求读者编写一个名为
我知道:
- reduce函数的概念是将数组转换为一个值。 - 三元运算符是函数的核心部分。
我不知道:
- counter函数的参数是从哪里来的。
书中说:
countZeroes
的函数,该函数以数字数组作为其参数,并返回其中出现的零的数量作为reduce函数使用的另一个示例。我知道:
- reduce函数的概念是将数组转换为一个值。 - 三元运算符是函数的核心部分。
我不知道:
- counter函数的参数是从哪里来的。
书中说:
function countZeroes(array) {
function counter(total, element) { // Where are the parameter values coming from?
return total + (element === 0 ? 1 : 0);
}
return reduce(counter, 0, array);
}
文本中的早期示例:
function reduce(combine, base, array) {
forEach(array, function (element) {
base = combine(base, element);
});
return base;
}