• Drop it(去除元素)


    题目:

    丢弃数组(arr)的元素,从左边开始,直到回调函数return true就停止。

    第二个参数,func,是一个函数。用来测试数组的第一个元素,如果返回fasle,就从数组中抛出该元素(注意:此时数组已被改变),继续测试数组的第一个元素,如果返回fasle,继续抛出,直到返回true。

    最后返回数组的剩余部分,如果没有剩余,就返回一个空数组。

    代码:

     1 function drop(arr, func) {
     2   //判断数组第一个元素是否符合func的条件
     3   function isFit(arr){
     4     //数组参数为空直接返回空数组
     5     if(!arr) {return arr;}
     6     else{
     7       //不符合func的条件,删掉arr[0]
     8       if (func(arr[0]) == false) {
     9         arr.shift();
    10         //判断新的arr[0]是否符合func
    11         if(arr[0]){return isFit(arr);}
    12         //没有剩余,就返回一个空数组
    13         else {return arr;}
    14       }
    15       //符合func的条件,返回数组剩余部分
    16       else {return arr;}
    17     }
    18   }
    19   return isFit(arr);
    20   
    21 }
  • 相关阅读:
    228. Summary Ranges
    324. Wiggle Sort II
    42. Trapping Rain Water
    工作之后
    279. Perfect Squares
    391. Perfect Rectangle
    351. Android Unlock Patterns
    246. Strobogrammatic Number
    [LeetCode] 75. Sort Colors Java
    [Java] 80. Remove Duplicates from Sorted Array II Java
  • 原文地址:https://www.cnblogs.com/hiker90/p/6798826.html
Copyright © 2020-2023  润新知