当前位置: 首页 > news >正文

Drop it(去除元素)

题目:

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

 

转载于:https://www.cnblogs.com/hiker90/p/6798826.html

相关文章:

  • 杂记
  • 在DataGridView_DragDrop事件中,确定DataGridView的单元格的位置
  • 对一个表中所有列数据模糊查询adoquery
  • EntityFramework [1]
  • SQLServer查询所有子节点
  • [转]Entity Framework 学习初级篇7--基本操作:增加、更新、删除、事务
  • 通用的方法,来检查字段是否存在
  • 面试题之求二叉树的深度
  • android笔记5——同一个Activity中Fragment的切换
  • 使用vmimeNET解析账单邮件
  • 关于浏览器端的网页性能测试
  • Qt入门之基础篇 ( 一 ) :Qt4及Qt5的下载与安装
  • 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-如何使用断点
  • SQLServer2005数据库日志文件损坏的情况下如何恢复数据库
  • centos7下yum快速安装 mariadb(mysql)
  • Apache Pulsar 2.1 重磅发布
  • Date型的使用
  • Facebook AccountKit 接入的坑点
  • FastReport在线报表设计器工作原理
  • Java Agent 学习笔记
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • node-glob通配符
  • Octave 入门
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • PHP 小技巧
  • scala基础语法(二)
  • Vue2.0 实现互斥
  • 官方解决所有 npm 全局安装权限问题
  • 如何学习JavaEE,项目又该如何做?
  • 实战|智能家居行业移动应用性能分析
  • 我看到的前端
  • 运行时添加log4j2的appender
  • 责任链模式的两种实现
  • 智能合约开发环境搭建及Hello World合约
  • Mac 上flink的安装与启动
  • MyCAT水平分库
  • 交换综合实验一
  • ​Linux·i2c驱动架构​
  • ​queue --- 一个同步的队列类​
  • ​决定德拉瓦州地区版图的关键历史事件
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (2)MFC+openGL单文档框架glFrame
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (转) ns2/nam与nam实现相关的文件
  • (转)为C# Windows服务添加安装程序
  • *1 计算机基础和操作系统基础及几大协议
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .NET Core 项目指定SDK版本
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .NET 分布式技术比较
  • .net 生成二级域名