关于JS中数组去重的几种方法
方法一:采用indexof 方式进行去重
let arr=[1,2,4,7,18,7,2]
let arr1=[] //定义一个空数组
for(let i=0;i<arr.length;i++){
if(arr1.indexOf(arr[i])===-1){ //在新数组中查询相应的数字,如果不存在,就将数字存入新数组
arr1.push(arr[i])
}
}
console.log(arr1)
方法二:利用数组的删除元素来进行
let ar=[1,2,4,7,18,7,2]
let ar1=ar.sort(function (a,b){
return a-b
})
//先将数组进行排序
for(let i=0;i<ar1.length;i++){
if(ar1[i]===ar1[i+1]){ //判断相邻是否相等 ,如果相等
ar1.splice(i,1) //删除相同的数字,原数组发生变化
}
}
console.log(ar1)
方法三:利用slice截取方法进行去重
let ar=[1,2,4,7,18,7,2]
let ar1=ar.sort(function (a,b){
return a-b
}) //排序
let ar2=[] //创建一个空数组,将截取的元素存放
for(let i=0;i<ar1.length;i++){
if(ar1[i]!=ar1[i+1]){ //判断相邻是否相等 ,如果不等
let a=ar1.slice(i,i+1) //截取本身成立一个新数组
ar2.push(a[0]) //将自身数组的一个值添加 到空数组中
}
}
console.log(ar2)
下一篇:
【框架篇】Gin框架源码解读【更新中】
