js中去除数组中的重复元素

js去除数组中的重复元素可以利用js中对象中的key永远是不会重复的这个特性来处理,分为以下两步:

1.将数组转换为对象,并且将数组中的元素作为对象的key

2.根据对象的key重新构建数组

/**
 * 数组转对象
 * @param array
 */
function getObj(array) {
    let obj = {};
    for(let val of array){
        obj[val] = true;
    }
    return obj;
}

/**
 * 对象转数组
 * @param obj
 * @returns {Array}
 */
function toArray(obj) {
    let array = [];
    for(let attr in obj){
        if(obj.hasOwnProperty(attr)){
            array.push(attr);
        }
    }
    return array;
}

function unique(array) {
    return toArray(getObj(array));
}

let array = [1,4,54,23,5,3,3,5,2,6,4,3,2,4];
console.log(unique(array));

 

posted @ 2019-03-02 22:36  gluawwa  阅读(511)  评论(0编辑  收藏  举报