频道栏目
首页 > 资讯 > JavaScript > 正文

JavaScript数组去重

17-09-05        来源:[db:作者]  
收藏   我要投稿

1. Set配合扩展操作符…或Array.from

var arr = [1,1,2,2,3,4,4];

var set = new Set(arr);  //Set(4) {1, 2, 3, "a"}
var newArr = [...set];//(4) [1, 2, 3, 4],...扩展操作符内部用for of实现
var newArr2 = Array.from(set);//(4) [1, 2, 3, 4]

({}).toString.call(set); //"[object Set]"

2. filter

arr.filter(function(value,index,arr){
    return arr.indexOf(value) === index;
})

3.利用对象

var arr=[1, 2, 3, 3, 3, '0', '1', '2', '测试', '重复', '重复', NaN, NaN, false, false];

var obj={};
var temp=[];
for(var i=0;i

4.先排序再去重

var arr=[1, 2, 3, 3, 3, '0', '1', '2', '测试', '重复', '重复', NaN, NaN, false, false];
arr.sort();
//console.log(arr);
var temp=[];
while(arr.length>0){
  if(Object.is(arr[0],arr[1])){
    arr.shift();
  }else{
    temp.push(arr.shift());
  }
}
console.log(temp);

5.for in和includes

var arr=[1, 2, 3, 3, 3, '0', '1', '2', '测试', '重复', '重复', NaN, NaN, false, false];
var temp=[];
for(var i=0;i
相关TAG标签
上一篇:js闭包介绍
下一篇:js实现常见排序方法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站