数组原型方法实现去重
给Array对象增加一个原型方法实现数组去重,然后返回一个去重后的数组。
//普通方法
function delRepeat(arr){ var subarr = []; for(var i=0; i<arr.length; i++){ if(subarr.indexOf(arr[i]) == -1){ subarr.push(arr[i]); } } return subarr; } console.log(delRepeat([1,23,3,4,6,3,12,6,7,8,7,10])); //[1, 23, 3, 4, 6, 12, 7, 8, 10] //给数组原型添加方法 Array.prototype.delRepeat = function(){ var subarr = []; for(var i=0; i<this.length; i++){ if(subarr.indexOf(this[i]) == -1){ subarr.push(this[i]); } } return subarr; } console.log([1,23,3,4,6,3,12,6,7,8,7,10].delRepeat()); //[1, 23, 3, 4, 6, 12, 7, 8, 10]
//返回一个包含被删除的重复条目的新数组 Array.prototype.delRepeat = function(){ var subarr = []; var subrepeatarr = []; for(var i=0; i<this.length; i++){ subarr.indexOf(this[i]) == -1 ? subarr.push(this[i]) : !subrepeatarr.includes(this[i]) ? subrepeatarr.push(this[i]) : false; } return subrepeatarr.sort(function(a,b){
if(a > b){
return a - b;
}//返回被删除重复条目排序后的新数组
});
//return subrepeatarr;//返回被删除重复条目的新数组
//return subarr;//返回去重后的新数组 } console.log([1,23,3,4,4,3,2,1,23,5,5,6,7,8,7,4].delRepeat()); //[ 3, 6, 7, 23 ]