今天朋友去面試被問到一個問題,原型實現數組去重,乍一聽著實有點蒙,但細細想來有些靈感 數組去重並不難,定義一個空數組,遍歷要去重的數組的每一項,利用flag作為判斷空數組中是否有一樣的元素的標識,flag為true說明沒有一樣的,就添加到空數組中 利用原型實現,其實也就是在數組的原型上添加一個方法, ...
今天朋友去面試被問到一個問題,原型實現數組去重,乍一聽著實有點蒙,但細細想來有些靈感
數組去重並不難,定義一個空數組,遍歷要去重的數組的每一項,利用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())