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

关于数组remove方法的其他写法

关于数组remove方法的其他写法

慕容708150 2018-10-10 18:15:13
Array.prototype.remove = function(obj){    if(null == obj){ return false }     for (var i =0 ,n =0 ;i<this.length;i++){        if (this[i]!=obj){            this[n++] = this[i];         }     }    this.length -= 1; }var arr = new Array(1,2,3,4,5);     arr.remove(3)学javascript有一段时间了,今天看下论坛上的很多代码都不懂,前来问问,1,为什么会想到这样的写法,他是怎么想的呢?2,有没有更好点的写法,我感觉我很笨有的像伸手党。。。
查看完整描述

1 回答

?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

Arrayremove方法肯定离不开splice,你的remove方法接受的是一个obj,如果不考虑对象不同,但是值相同的情况,那么下面的方法应该是最简单的:

Array.prototype.remove = function(obj) {  let index = this.indexOf(obj);  if(index !== -1) this.splice(index, 1);
}


查看完整回答
反对 回复 2018-11-15
  • 1 回答
  • 0 关注
  • 839 浏览
慕课专栏
更多

添加回答

举报

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