今天朋友去面试被问到一个问题,原型实现数组去重,乍一听着实有点蒙,但细细想来有些灵感
数组去重并不难,定义一个空数组,遍历要去重的数组的每一项,利用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())
时间: 2024-10-17 08:09:56