让前端飞

数组去重

2018-07-06  本文已影响3人  椰果粒

数组去重是将数组中重复的元素

一:Set对象

 /*
    * Set():一组key的集合,不存储value,因为key不能重复,所以set会直接过滤掉相同的元素
    *   需要提供一个arr作为输入或者直接直接创建一个空set对象
    *
    * */

var arr = [1,1,2,3,4,1,2,5]
console.log([...new Set(arr)])

二:定义新数组,存放原来数组的一个元素,然后和剩下的比较,如果不同,则放入新数组,定义一个标志位,如果相同,就将标志位设为true,且不放入新数组中

function unique(arr){
    let uniqueArr = [arr[0]];
    for(let i=0;i<arr.length;i++){
        let repeat = false
        for(let j=0;j<uniqueArr.length;j++){
            if(arr[i]===uniqueArr[j]){
                repeat=true;
                break;
            }
        }
        if(!repeat){
            uniqueArr.push(arr[i])
        }
    }
    return uniqueArr
}
console.log(unique(arr))
上一篇 下一篇

猜你喜欢

热点阅读