为了账号安全,请及时绑定邮箱和手机立即绑定

删除Array中一个元素,并且不作多余的遍历

删除Array中一个元素,并且不作多余的遍历

慕侠2389804 2018-09-07 14:10:01
  try{                //是否跳出循环                 let breakloop = false;                this.commitList = this.commitList.filter((arg)=>{                                         //是否跳出循环                     if(breakloop)                        throw new error("break");                                             //如果找到要删除的元素                      if(arg == check.id)                        //设为true 则下一次Loop会抛出异常                         breakloop = true;                                             //找到元素 会返回false,在filter遍历中返回false会'删除'该元素                     return arg != check.id                  })             }catch(e){                console.log(e.message)             }commitList是一个Array ,假设 commitList[1,2,3,4,5,6] check.id = 1希望在找个1之后就不再进行下面的遍历,但是filter遍历不允许使用break字段解决方法:找到要删除的元素之后,抛出异常,强行跳出遍历遇到问题:跳出遍历后,数组还是维持不变(没有删除应该删除的元素), 可能是强行跳出打断了filter的工作?请问有更好的方法吗? 既可以删除元素,又不需要全数组遍历..
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 517 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信