数组去重

247 阅读1分钟
// 第一种Es6数组去重
    let arr=[1,5,6,3,1,2,3,1,2]
    let set=new Set(arr)
    console.log(set)//此时打印出的数据不是一个数组,不是我们想要的
    let c=Array.from(set)//需要用Array.from()将数据转化为数组
    console.log(c)//此时打印的C就是我们需要的
封装去重的函数:
    function fun(arr){
        return Array.from(new Set(Narr))
    }
    console.log(fun(arr))
// 第二种js数组去重 
 function  quchong(arr){
    var temp=[]
    for(var i=0;i<arr.length;i++){
        if(temp.indexOf(arr[i])==-1){
            temp.push(arr[i])
        }
    }
    return temp
}
var Arr=[1,1,2,2,2,3,3,4,5]
console.log(quchong(Arr))
...............我常用的是这两种方法..............
将数组线合并,再去重,再进行排序
var arr=[5,2]
var arr2=[3,2]
//合并
var Narr=arr.concat(arr2)//此时为合并后的数组
数组的合并还可以用(...)拓展运算符来实现
var Narr=[...arr,...arr2]//此时为合并后的数组
//去重
function fun(Narr){
    return Array.from(new Set(Narr))
}
var t=fun(Narr)//此时为去重后的数组
//排序
    var c=t.sort(function(a,b){
       return b - a
    })//此时为从大到小的排序
或:
 var c=t.sort()//此时为从小到大的排序(默认是从小到大)