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

Drop it

时间:2016-11-29 16:52:15      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:cti   测试   blog   停止   nbsp   移除   没有   也会   while   

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

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

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

 

思路

 while() 循环,当 func(arr[0]) 不被满足时移除arr首项。然后继续遍历数组剩余部分。

要注意的是,当 func(arr[0]) 一直不被满足时,arr首项将被无限多(浏览器最大值边界)次移除,即使arr为空数组也会循环此操作。为了保证效率,应加上限制条件arr.length > 0 阻止无限循环的发生。

function drop(arr, func) {
  // Drop them elements.
  while(!func(arr[0]) && arr.length > 0){
    arr.shift();
  }
  return arr;
}

 

Drop it

标签:cti   测试   blog   停止   nbsp   移除   没有   也会   while   

原文地址:http://www.cnblogs.com/fffangrui/p/6114198.html

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