es6
Array.from
从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例
var arr = [1, 1, 3, 4, 3]
function unique(arr) {
return Array.from(new Set(arr))
}
console.log(unique(arr))
新数组存放
// 最简单数组去重法
/*
* 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中
* IE8以下不支持数组的indexOf方法
* */
function uniq(array){
var temp = []; //一个新的临时数组
for(var i = 0; i < array.length; i++){
if(temp.indexOf(array[i]) == -1){
temp.push(array[i]);
}
}
return temp;
}
var aa = [1,2,2,4,9,6,7,5,2,3,5,6,5];
console.log(uniq(aa));
利用对象或者Map,增加额外空间
function unique(arr) {
const res = []
const map = {}
for (let i = 0; i < arr.length; i++) {
if (!map[arr[i]]) {
map[arr[i]] = true
res.push(arr[i])
}
}
return res
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。