let arr = [1,2,3,'2','3',2,1]; (function(arr){ console.log([...(new Set(arr))]); })(arr);
方法1
new Set() es6中的结构,其中元素不能重复 返回 {1,2,3,'2','3'}, [...] 解构成数组
(function(arr){ let hash = new Map(); arr = arr.reduce((item, value) => { hash.has(value)?'':hash.set(value, true) && item.push(value); return item; },[]); console.log(arr); })(arr);
方法2
reduce()方法循环数组 Map来进行重复判断
arr.reduce(() => {},[]); 空数组不能省略,省略的话,arr.reduce((a, b)=> { a 是前一个数, b是后一个数});