实现一个类似数组方法filter()的函数,支持传入一个数组和回调函数,然后筛选出大于0的结果并返回为一个新数组。例:filter([-2,-1,0,1,2,3],function(value){...})的运行结果为[1,2,3]。
<!DOCTYPE html>
<html>
<body>
<h1>输出数组中大于0的数字</h1>
<p id="output"></p>
<script>
// 定义过滤数组的函数
function filterArray(arr, callback) {
var result = [];
// 遍历数组,将满足条件的数字添加到结果数组中
for (var i = 0; i < arr.length; i++) {
if (callback(arr[i])) {
result.push(arr[i]);
}
}
return result;
}
// 定义一个包含负数、零和正数的数组
var numbers = [-2, -1, 0, 1, 2, 3];
// 使用filterArray函数,筛选出大于0的数字
var filteredNumbers = filterArray(numbers, function(num) {
return num > 0;
});
// 将筛选出的数字以逗号分隔的形式显示在页面上
document.getElementById("output").innerHTML = filteredNumbers.join(", ");
</script>
</body>
</html>