zoukankan      html  css  js  c++  java
  • 去除数组中的重复元素(基本数据类型元素)--详细解释

     

     1 //方法一:创建一个临时数组,通过indexOf这个数组方法,实现重复元素的去除:即遍历原数组的同时,检验原数组的元素在临时数组是否已经存在,
     2 //若存在,说明该元素已经重复了,则不添加到临时数组中,否则,说明元素为第一次出现,可以添加到临时数组中。
     3 function deleteRepeat(arr){
     4   //定义一个临时数组
     5   let newArr = [];
     6   //遍历原数组,使用临时数组保存不重复的元素
     7   //ES6遍历
     8   arr.forEach(function(val){
     9     if(newArr.indexOf(val) === -1){
    10       newArr.push(val)
    11     }
    12   })
    13   //for循环遍历
    14   //for(let i = 0; i < arr.length; i++){
    15   //  if(newArr.indexOf(arr[i]) === -1){
    16   //    newArr.push(arr[i])
    17   //  }
    18   }
    19   return newArr;
    20 }
    21 
    22 //方法二:定义一个哈希表,遍历数组元素,把数组元素作为哈希表的键,值为布尔值,若为true,说明该元素为重复元素,否则为第一次出现,则应该把该元素
    23 //存入临时数组,同时更新哈希表的键值对
    24 function deleteRepeat(arr){
    25   let hash = {};
    26   let result = [];
    27   arr.forEach(function(val){
    28     //如果哈希表还没有这个属性,说明是第一次遍历到
    29     if(!hash[val]){
    30       result.push(val);
    31       hash[val] = true;
    32     }
    33   })
    34   return result;
    35 }
    36 //方法三:遍历原数组元素,判断当前元素的值第一次出现的位置是否等于当前元素的索引。也使用了数组方法indexOf():返回指定值第一次出现的位置
    37 //ES6--forEach实现
    38 function deleteRepeat(arr){
    39   let result = [];
    40   arr.forEach(function(val, index){
    41     if(arr.indexOf(val) === index){
    42       result.push(val)
    43     }
    44   })
    45   return result;
    46 }
    47 //for循环
    48 function deleteRepeat(arr){
    49   let result = [];
    50   for(let i = 0; i < arr.length; i++){
    51     if(arr.indexOf(arr[i]) === i){
    52       result.push(arr[i])
    53     }
    54   }
    55   return result;
    56 }
    57 //ES6中新添的数据结构Set
    58 function deleteRepeat(arr){
    59   //以该数组创建set集合,set集合只包含不重复的元素,再通过`...`扩展运算符获得数组
    60   return [...new Set(arr)]
    61 }

     

  • 相关阅读:
    Hamler 0.2 正式发布
    Xamarin.Forms 解决ListView高度问题
    Xamarin.Forms中DependencyService的使用
    Xamarin.Forms Android 底部导航栏
    修改UITabBar样式 TintColor 和 Selected Tab Images in Xamarin.Forms iOS
    Xamarin.iOS中使用MvvmLight框架
    Xamarin.iOS 代码中添加约束练习
    Xamarin.Android 手势密码
    UWP 手势密码实现
    Xamarin.iOS 手势密码
  • 原文地址:https://www.cnblogs.com/joeynkay/p/13527051.html
Copyright © 2011-2022 走看看