前端JS:编写一个方法,去掉数组的重复元素

473 阅读1分钟

** no bullshit,just show the code:**

/***
 *
 * 编写一个方法,去掉数组的重复元素;
 * params:Array
 *  利用:ES6: 新的数据结构 new Set();
               类数组转换:Array.from();
 */
 * 
function noRepeatItemArray(array){
    return Array.from(new Set(array));
}

/**
  params:Array
 * 利用:arrayObj.indexOf(); 返回下标;
 * 不存在则返回-1; 
*/
function noRepeatItemArray2(array){
    let len=array.length,
        arrTemp=[];
    for(let i=0;i<len;i++){
        // 如果当前temp数组中不存在该item;则push;
        if(arrTemp.indexOf(array[i])<0){
          arrTemp.push(array[i]);
            }    
    }
    return arrTemp;
    
}

/**
 *  params:Array;
 *  利用:
    arrObj[i]=undefined;i notIn arrObj;
    !undefined===true;
*/
 function noRepeatItemArray3(array){
     let len=array.length,
         arrObj={},
         arrTemp=[];
    for(let i=0;i<len;i++){
        if(!arrObj[array[i]]){
            arrObj[array[i]]=1;
            arrTemp.push(array[i]);
        }
    }// end of for loop;     
    
    return arrTemp;
 }