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(){ }
在后面任何数组中都可以调用这个继承的函数!