首页 > 其他 > 详细

Drop it

时间:2017-01-06 16:27:46      阅读:104      评论:0      收藏:0      [点我收藏+]

FCC题目:队友该卖就卖,千万别舍不得。

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

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

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

示例:

 

drop([1, 2, 3, 4], function(n) {return n >= 3;}) 应该返回 [3, 4]。
drop([0, 1, 0, 1], function(n) {return n === 1;}) 应该返回 [1, 0, 1]。
drop([1, 2, 3], function(n) {return n > 0;}) 应该返回 [1, 2, 3]。
drop([1, 2, 3, 4], function(n) {return n > 5;}) 应该返回 []。
drop([1, 2, 3, 7, 4], function(n) {return n > 3;}) 应该返回 [7, 4]。
drop([1, 2, 3, 9, 2], function(n) {return n > 2;}) 应该返回 [3, 9, 2]。 

步骤:

 1 function drop(arr, func) {
 2   // Drop them elements.
 3   for(var i=0;i<arr.length;i++){
 4     if(func(arr[i])===false)
 5       arr.splice(i,1,‘false‘);
 6     else break;
 7   }  
 8   return arr.filter(function(vl){
 9     return vl!=="false";
10   });  
11 }
12 
13 
14 drop([0, 1, 0, 1], function(n) {return n === 1;}) ;

Drop it

原文:http://www.cnblogs.com/lilicat/p/6256519.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!