从数组中删除元素

从数组中删除元素,分为两种情况

第一种:知道这个元素是什么,将指定元素从数组中删除

给构造函数Array的原型对象上挂载两个方法,调用方法实现删除
  • indexOf方法用于找出该元素在数组中对应的下标
  • remove方法用于根据该下标,删除对应的元素
Array.prototype.indexOf = function (val) {
        for (var i = 0; i < this.length; i++) {
            if (this[i] === val) return i;
        }
        return -1;
    };
    Array.prototype.remove = function (val) {
        var index = this.indexOf(val);
        if (index > -1) {
            this.splice(index, 1);
        }
    };

    var arr = ['123', '456', '789', '012']
    console.log(arr);//['123', '456', '789', '012']
    arr.remove('123')
    console.log(arr);//['456', '789', '012']

第二种:知道该元素的下标,将指定下标对应的元素从数组中删除

  • 知道要删除元素的下标,这样删除比较方便,直接调用数组的splice方法即可
  • splice这个方法有两个参数,第一个是要删除元素的下标,第二个是从该下标开始删除几个元素,要想删除一个元素,第二个参数写1即可
  • splice方法直接改变原数组,返回的是所删除的元素
    var arr=['1','2','3','4','5']
    arr.splice(2,1)//删除下标为2的元素
    console.log(arr);//['1','2','4','5']
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容