码迷,mamicode.com
首页 > 其他好文 > 详细

Drop it(去除元素)

时间:2017-05-02 23:33:42      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:pre   fas   代码   条件   判断   ret   code   false   开始   

题目:

丢弃数组(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 }

 

Drop it(去除元素)

标签:pre   fas   代码   条件   判断   ret   code   false   开始   

原文地址:http://www.cnblogs.com/hiker90/p/6798826.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!