set 数组去重

2018-03-22  本文已影响0人  月半女那

ES6出现了一个新的方法,在面试中个多次被提问到那就是数组去重

1.通过Set去重

例如:var arr = [3,4,5,5,6,,6,7,7]; //需要去重的数组

            var set = new Set(arr); // {3,4,5,6,7}

            var newArry = Array.from(set) // 将set转换成数组[3,4,5,6,7]

2.遍历去重(通过indexOf下标属性来查询)

    var arr = [3,4,5,5,6,,6,7,7];

    var newArray = [];

    for(vari = 0;  i < arr.length; i++){

    if ( newArray.indexOf( arr[i]) === -1 ))

        newArray.push(arr[i])

    }

3.通过filter和includes

include(es6里面提供的array.includes()函数,来判断数组里面是否包含这个元素,如果有返回true;没有返回false;它和indexof唯一的区别是indexof可以定位这个元素再数组的位置,而array.includes()值能够知道这个数组是否包含这个元素,更加语义化)

 unique7(arr) => {

        var res = [];

        arr.forEach(item =>{

            res.includes(item) ? ' ':res.push(item)

        });

        return res;

}

上一篇下一篇

猜你喜欢

热点阅读