javascript面试题-原型实现数组去重

今天朋友去面试被问到一个问题,原型实现数组去重,乍一听着实有点蒙,但细细想来有些灵感

数组去重并不难,定义一个空数组,遍历要去重的数组的每一项,利用flag作为判断空数组中是否有一样的元素的标识,flag为true说明没有一样的,就添加到空数组中

利用原型实现,其实也就是在数组的原型上添加一个方法,让要去重的数组调用该方法

   Array.prototype.remArr=function () {
var arr=[];
var len=this.length;
for(var i=0;i<len;i++)
{
var flag=true
for(var j=0;j<arr.length;j++)
{
if(this[i]==arr[j]){
flag=false;
}
}
if(flag)
{
arr.push(this[i])
}
}
return arr
}

console.log([1,2,3,3,2,1,5].remArr())
原文地址:https://www.cnblogs.com/NaN-6/p/6678593.html