每日一题

1.请给Array本地对象增加一个原型方法,用于删除数组中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。

  我本身对这道题的理解有歧义,所以给出两种情况:

第一种返回去除掉重复条目的数组,如[1,2,2,3,3,3]返回[1,2,3]

Array.prototype.deleteSameElement=function(){
var array=this,
newArray_1=[],
i,
len;
newArray_1.push(array[0]);
for(i=1,len=array.length;i<len;i++){
if(newArray_1.indexOf(array[i])==-1){
newArray_1.push(array[i]);
}
}
return newArray_1;
}
var array=[3,2,1,3,5,2,3,5,1];
alert(array.deleteSameElement()); //返回[3,2,1,5]

 另外一种是返回重复数组条目组成的数组,如:[1,2,2,3,3,3],返回[2,3,3]

 Array.prototype.deleteSameElement=function(){
     var array=this, 
         newArray_1=[],
         newArray_2=[],
         i,
         len;
     newArray_1.push(array[0]);
     for(i=1,len=array.length;i<len;i++){
         if(newArray_1.indexOf(array[i])==-1){
             newArray_1.push(array[i]);
         }else{
             newArray_2.push(array[i]);
         }
     }    
     return newArray_2.sort();
 }
 var array=[1,2,3,1,3,1];
 alert(array.deleteSameElement());  //返回[1,1,3]

 

posted @ 2015-04-08 15:43  liu玙  阅读(292)  评论(6编辑  收藏  举报