实现一个类似数组方法filter()的函数,支持传入一个数组和回调函数,然后筛选出大于0的结果并返回为一个新数组。例:filter([-2, -1, 0, 1, 2, 3], function (value) { ... })的运行结果为[1, 2, 3]
时间: 2024-10-17 22:10:21 浏览: 18
PHP中使用array函数新建一个数组
为了实现一个类似于JavaScript数组的`filter()`方法,我们可以创建一个名为`customFilter()`的函数,它接受两个参数:一个数组和一个回调函数。这个回调函数将遍历数组,对每个元素应用条件检查,如果满足条件则将其包含在新的数组中。以下是该函数的一个简单实现:
```javascript
function customFilter(arr, callback) {
// 创建一个新的空数组用于存储筛选后的值
const result = [];
// 遍历输入数组
for (let i = 0; i < arr.length; i++) {
// 如果回调函数返回true,则添加到结果数组
if (callback(arr[i])) {
result.push(arr[i]);
}
}
// 返回筛选后的数组
return result;
}
// 示例使用
const inputArray = [-2, -1, 0, 1, 2, 3];
const filteredArray = customFilter(inputArray, function(value) {
return value > 0;
});
console.log(filteredArray); // 输出: [1, 2, 3]
```
在这个例子中,回调函数`(value) => value > 0`用于检查数组中的元素是否大于0。
阅读全文