如何实现数组快速去重小技巧

96 阅读1分钟

1.不用Set实现,用Map实现


const array = [1,5,2,3,4,2,3,1,3,4];

function unique(arr) {

    let map = new Map();

    for(let i of arr) {

        map.set(i, 1);

    }

    let array = Array.from(map.keys());

    return array;

}

console.log(unique(array));

map对象中键名有用而值无用,占用了不必要的内存。

2.用Set实现

const array = [1,5,2,3,4,2,3,1,3,4];
function unique(arr) {
	let set = new Set(array);
	return Array.from(set);
}
console.log(unique(array));

非常简洁,可能是最适合数组去重的方法,他有什么缺点?我暂时还没认识到。