js如何删除数组中是否有重复内容代码

快乐打工仔 分类:实例代码

本章节分享一段代码实例,它实现了删除数组中重复元素。

代码实例如下:

Array.prototype.del = function(){
  var a = {}, c = [], l = this.length;
  for (var index = 0; index < l; index++) {
    var b = this[index];
    var d = (typeof b) + b;
    if (a[d] === undefined) {
      c.push(b);
      a[d] = 1;
    }
  }
  return c;
}
var arr=[1,2,3,5,9,2];
console.log(arr.del());
console.log(arr);

上面的代码实现了我们的要求,del()方法会返回一个新的数组,原来的数组不变,下面介绍一下它的实现过程。

一.代码注释:

(1).Array.prototype.del = function(){},通过原型为数组对象添加一个del()方法。

(2).var a = {}, c = [], l = this.length,分别声明一个对象数组,并且获取原来数组的长度。

(3).for (var index = 0; index < l; index++){},遍历数组中的每一个元素。

(4).var b = this[index],获取指定索引的数组元素,并复制给变量b。

(5).var d = (typeof b) + b,这个用来生成一个对象a的属性名称,能够区别数据类型,比如"3"和3是不同的。

(6).if (a[d] === undefined) {

   c.push(b);

   a[d] = 1;

},如果不存在指定的属,就说明当前数组元素在此时刻还是唯一的,那么将其存入数组C。

然后将属a[d]的值设置为1。

(7).return c,返回这个新的数组。

二.相关阅读:

(1).prototype可以参阅javascript prototype原型一章节。

(2).push()方法可以参阅javascript push()一章节。

一线大厂高级前端编写,前端初中阶面试题,帮助初学者应聘,需要联系微信:javadudu

回复

我来回复
  • 暂无回复内容