Drop it
Posted 笨鸟房子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Drop it相关的知识,希望对你有一定的参考价值。
让我们来丢弃数组(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的主要内容,如果未能解决你的问题,请参考以下文章
svn报错cleanup failed–previous operation has not finished; run cleanup if it was interrupted的解决办法(代码片段