javascript删除数组中重复元素代码实例
分类:实例代码
本章节分享一段代码,它实现了能够删除数组中的重复元素。
代码实例如下:
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,5,9,12,2]; console.log(arr.del());
上面的代码实现了我们的要求,下面介绍一下它的实现过程。
一.代码注释:
(1).Array.prototype.del = function(){},通过原型方式为Array实例对象添加一个del()方法。
(2).var a = {}, c = [], l = this.length;
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,声明一个变量d,它是用作对象的属性。(typeof b) + b可以防止只是用b作为属性出现的"1"和1被认为同一个属性的情况。
(6).if (a[d] === undefined) {
c.push(b);
a[d] = 1;
},判断对象中是否具有相应的属性。
如果没有,那么就将此元素存入数组C。
并且将a的属性名设置为d,属性值为1。
二.相关阅读:
(1).prototype可以参阅javascript prototype原型一章节。
(2).push()方法可以参阅javascript push()一章节。
(3).typeof可以参阅javascript typeof 一章节。
一线大厂高级前端编写,前端初中阶面试题,帮助初学者应聘,需要联系微信:javadudu