JavaScript在数组对象原型上添加去重方法

JavaScript在数组对象原型上添加去重方法

具体的代码如下:

	Array.prototype.removearr = function(){
		for (var i =0,hash =[]; i<this.length; i++) {
	        if (hash[this[i]] == undefined){hash[this[i]] = true;}
	        else{this.splice(i,1);i--;};
		}
	}
	var arr1 = prompt("给一串可以去重的数字(用空格分开)").split(' ');
	arr1.removearr()
	console.log(arr1);

在这里插入图片描述
在这里插入图片描述
去重的方法有很多种,这里我运用了hash数组并运用了splice的API直接对原数组进行了删减。
首先需要知道数组如何去重,我的去重方式是遍历传进去的数组时,每次都对元素进行判断,如果在新建的hash空数组中没有找到以元素为命名的元素时便添加true给hash中添加该元素命名的元素,如果有的话便在原数组中删去该数组
if (hash[this[i]] == undefined){hash[this[i]] = true;}
else{this.splice(i,1);i--;};
在Array的原型上添加这个去重函数
Array.prototype.removearr = function(){ }
在后面任何数组中都可以调用这个继承的函数!

~~~~end ~~~~~~

发布了23 篇原创文章 · 获赞 49 · 访问量 1485

猜你喜欢

转载自blog.csdn.net/weixin_44701229/article/details/103081228