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]。

步骤:

 function drop(arr, func) {
while(!func(arr[0]) && arr.length > 0){
arr.shift();
}
return arr;
} drop([0, 1, 0, 1], function(n) {return n === 1;}) ;
 function drop(arr, func) {
// Drop them elements.
for(var i=0;i<arr.length;i++){
if(func(arr[i])===false)
arr.splice(i,1,'false');
else break;
}
return arr.filter(function(vl){
return vl!=="false";
});
} drop([0, 1, 0, 1], function(n) {return n === 1;}) ;

最新文章

  1. React 组件性能优化探索实践
  2. poj2955括号匹配 区间DP
  3. SystemTap知识(二)
  4. linux包之iproute之ss命令
  5. makefile missing separator. Stop
  6. xml--通过jdom解析及生产XML
  7. 9. iptables 配置
  8. 浅谈BFC与应用
  9. Linux SDK之uClinux、Broadcom、Atheros、Realtek、Ralink、Marvell、Intel
  10. scss 编译方法
  11. 测试网页时需要添加等待的情形 (Selenium)
  12. .net 去除特殊字符
  13. Oracle Client(客户端) 安装与配置
  14. 微信小程序获取当前位置
  15. C#-VS发布网站-准备待发布网站-摘
  16. [chrome-debug]如何使用chrome调试你的移动设备
  17. jquery animate动画持续运动
  18. Python实现自平衡二叉树AVL
  19. Windows系统之hosts文件
  20. 浅谈kmp

热门文章

  1. 【前端优化之渲染优化】大屏android手机动画丢帧的背后
  2. 分享iOS开发常用(三方类库,工具,高仿APP,实用网站,技术干货)
  3. [Erlang 0126] 我们读过的Erlang论文
  4. ASP.NET MVC 5 03 - 安装MVC5并创建第一个应用程序
  5. Oracle数据字典
  6. C# 模板列在绑定的时候取文本值
  7. 步步深入:MySQL架构总览-&gt;查询执行流程-&gt;SQL解析顺序
  8. redis数据结构存储Dict设计细节(redis的设计与实现笔记)
  9. {&quot;errcode&quot;:40097,&quot;errmsg&quot;:&quot;invalid args hint: [vjNe7xxxxxx8vr19]&quot;}——记录一次微信错误处理
  10. Python的模块引用和查找路径