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