JS数组去重
-
Set
<script>
var arr=[1,2,3,4,5,4,6,5,0]
//Set
function unique(arr){
return Array.from (new Set(arr))
//OR
return [...new Set(arr)]
}
console.log(unique(arr));
</script>

-
循环
//循环*2
function unique(arr){
for(var i = 0; i < arr.length;i++){
for(var j = i+1; j< arr.length;j++){
if(arr[i]===arr[j]){
arr.splice(j,1)
j--
arr.length--
}
}
}
return arr
}
console.log(unique(arr))
- indexOf
//indexOf
function unique(arr){
var arr1 =[]
for(var i =0 ; i<arr.length;i++){
if(arr1.indexOf(arr[i]) === -1){
arr1.push(arr[i])
}
}
return arr1
}
console.log(unique(arr))
-
includes
function unique(arr){ var arr1 =[] for(var i =0 ; i<arr.length;i++){ if(!arr1.includes(arr[i])){ arr1.push(arr[i]) } } return arr1 } console.log(unique(arr)) -
filter
function unique(arr){
return arr.filter(function (item, index){
//元素在数组中第一次出现的索引值
//e.g.原始索引值 0 1 2 3 ...
// 新数组索引值 0 1 2 1 ...
return arr.indexOf(item,0) === index
})
}
console.log(unique(arr));

浙公网安备 33010602011771号