两种实用的数组去重方法

1.利用对象键唯一性去重

function unique(arr) { 
          var res = []; 
          var json = {};  
          for(var i = 0; i < arr.length; i++) { 
              //区别字符串1和数值1   
              var item = arr[i];
              var key = typeof(item) + item;
              console.log(key)
              if(!json[key]) {      
                  res.push(item);      
                  json[key] = 1;    
              } 
          }  
          return res;
      }
var arr = unique([1,1,'1','@',{1:2},{1:2}])
console.log(arr) //[1,'1','@',{1:2}]

2.es6 Set去重

 var arr = Array.from(new Set([1,1,'1','@',{1:2},{1:2}]))
 console.log(arr) //[1,'1','@',{1:2}]
 //Set是es6新增的数据结构,与数组类似,但set元素没有重复
// Array.from(set)将Set转换为数组
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,646评论 8 265
  • checkedListBox1.Items.Add(“蓝色“); checkedListBox1.Items.Ad...
    小FFF阅读 144评论 0 0
  • 2017年6月14号徒搭旅行很有意义,并不是我买不起车票,搭车和车主人一起聊天,他们都有故事,他们心地善良,多像他...
    魏东雷阅读 308评论 0 0
  • 2018年7月8日 星期日 晴 我是韶忆,日记星球417 号星宝宝,我正在参加日记星球第十八蜕变之旅,这是我的第1...
    韶忆_d45a阅读 129评论 0 0
  • 有时候,就是想大哭一场,因为心里憋屈。 有时侯,就是想疯癫一回, 因为情绪低落。 有时候,就是想宣泄一下, 因为心...
    时尚潮流圈阅读 303评论 0 0