牛骨文教育服务平台(让学习变的简单)
博文笔记

JS数组删除某个元素

创建时间:2017-04-06 投稿人: 浏览次数:1279

JS数组删除某个元素的方法实现的代码:

使用数组迭代

function removeElement(arr, ele){
  var result  = [];
  if(arr instanceof Array){
    if(ele instanceof Array){
      result = arr.filter(function(item){
        var isInEle = ele.some(function(eleItem){
          return item === eleItem;
        });
        return !isInEle
      })
    }else{
      result = arr.filter(function(item){
        return item !== ele
      })
    }
  }else{
    console.log("parameter error of function removeElement");
  }
  return result;
}

功能测试

这里写图片描述

使用常规的数组方法splice

首先可以给js的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为:

Array.prototype.indexOf = function(val) {
  for (var i = 0; i < this.length; i++) {
    if (this[i] == val) return i;
  }
  return -1;
};

然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素:

Array.prototype.remove = function(val) {
  var index = this.indexOf(val);
  if (index > -1) {
    this.splice(index, 1);
  }
};
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。