1.es6 语法 new Set()
function unique(arr){
return new Set(arr)
}
2.对数组进行排序,然后两两比较法
function unique(arr){
//sort 对数组进行排序
arr.sort(function(a,b){
return a-b
})
//定义新数组
var newArr = [arr[1]]
//遍历数组
for(var i = 0;i<arr.length;i++){
//将newArr 的最后一项与数组的单项进行对比,相等则添加到新数组
if(newArr[newArr.length - 1] !== arr[i])newArr.push(arr[i]);
}
return newArr
}
3.利用对象属性的唯一性
function unique(arr){
var obj = {},newArr=[]
for(var i = 0;i<arr.length;i++){
//判断obj 是否有arr[i]的属性
if(!obj[arr[i]]){
obj[arr[i]] = 1
newArr.push(arr[i])
}
}
return newArr
}
4.indexOf方法可返回某个指定的字符串值在字符串中首次出现的位置,没有则返回-1
function unique(arr){
var newArr = []
for(var i = 0;i<arr.length;i++){
if(newArr.indexOf(arr[i])<0){
newArr.push(arr[i])
}
}
return newArr
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。