下面是一个编写了一个 JavaScript 函数 count(arr, callback) 的解决方法:
function count(arr, callback) {
let count = 0;
for (let i = 0; i < arr.length; i++) {
if (callback(arr[i])) {
count++;
}
}
return count;
}
// 示例使用
const numbers = [1, 2, 3, 4, 5];
// 使用箭头函数作为回调函数
const isEven = number => number % 2 === 0;
const evenCount = count(numbers, isEven);
console.log(evenCount); // 输出: 2
// 使用普通函数作为回调函数
function isOdd(number) {
return number % 2 !== 0;
}
const oddCount = count(numbers, isOdd);
console.log(oddCount); // 输出: 3
在这个示例中,我们定义了一个 count 函数,它接受一个数组 arr 和一个回调函数 callback 作为参数。在函数内部,我们使用一个循环遍历数组中的每个元素,并根据回调函数的返回值来计算满足条件的元素数量。最后,我们返回计数值。
在示例中,我们使用箭头函数和普通函数作为回调函数来演示如何使用 count 函数。对于 isEven 回调函数,我们使用箭头函数来判断一个数字是否为偶数。对于 isOdd 回调函数,我们使用普通函数来判断一个数字是否为奇数。最后,我们分别调用 count 函数来计算满足条件的元素数量,并将结果打印到控制台上。