按参数过滤数组

请写一个函数来检查数组(第一个参数 arr)中的元素,并返回数组中第一个通过校验测试的元素。 其中,“通过校验测试”指的是对于数组中的一个元素 x,若 func(x) 返回的结果为 true,则校验测试通过。 如果没有元素通过测试,请返回 undefined

 1   function findElement(arr, func) {
 2     let res;
 3     for(let i =0;i<arr.length;i++){
 4       if(func(arr[i])){
 5       return arr[i];
 6      }
 7   }
 8    return;
 9  }
10  findElement([1, 2, 3, 4], num => num % 2 === 0);

Array.prototype.filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素

1 ar newArray = arr.filter(callback(element[, index[, array]])[, thisArg])
1 function findElement(arr, func) {
2  return arr.filter(function(num){
3    return func(num);
4  })[0];
5 }
6 findElement([1, 2, 3, 4], num => num % 2 === 0);
1 function findElement(arr, func) {
2     return arr.filter(func)[0];
3 findElement([1, 2, 3, 4], num => num % 2 === 0);

 

posted @ 2021-05-16 20:52  icyyyy  阅读(121)  评论(0)    收藏  举报