方式一:new Set():返回一个对象
<script>
var arr1 = [1,2,3,4,2,3,5,8,9];
console.log(new Set(arr1);//{1,2,3,4,5,8,9}返回一个对象
//转为真正的数组
console.log(Array.from(new Set(arr1)));//[1,2,3,4,5,8,9]
console.log([...new Set(arr1)])//[1,2,3,4,5,8,9]
//封装为函数
function unique(arr){
return [...new Set(arr)]
}
console.log(unique(arr1));//[1,2,3,4,5,8,9]
</script>
方式二:indexOf
<script>
var arr2 = [1,2,3,2,4,1]
function unique(arr){
var brr = [];
for(var i=0;i<arr.length;i++){
if(brr.indexOf(arr[i]) ==-1){
brr.push(arr[i]);
}
}
return brr;
}
console.log(unique(arr2));//[1,2,3,4]
</script>
方式三:sort排序后去重
<script>
var arr3 = [1,2,3,2,4,1]
function unique(arr){
arr = arr.sort;
var brr = [];
for(var i=0;i<arr.length;i++){
if(arr[i] !== arr[i-1]){
brr.push(arr[i]);
}
}
return brr;
}
console.log(unique(arr3));//[1,2,3,4]
</script>