编写一个函数,模仿
Array
对象的filter()
方法,接受一个数组和一个过滤函数作为参数,返回一个新的数组,其中包含满足过滤函数条件的元素。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CustomFilter</title>
</head>
<body>
<script>
/**
* 实现一个自定义的filter函数:编写一个函数,模仿Array对象的filter()方法,接受一个数组和一个过滤函数作为参数,返回一个新的数组,其中包含满足过滤函数条件的元素。
* const numbers = [1, 2, 3, 4, 5];
* const evenNumbers = customFilter(numbers, num => num % 2 === 0);
* 期望 evenNumbers 为 [2, 4]
*/
function customFilter(array, callback){
let result = [];
for (const item of array) {
if(callback(item)){
result.push(item)
}
}
return result;
}
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = customFilter(numbers, num => num % 2 === 0);
console.log(evenNumbers); // [2, 4]
</script>
</body>
</html>