1、ES6中的Set去重
var shop=[1,2,3,4,5,1,3,6]
const backToArray=Array.from(new Set(shop))
console.log(backToArray)
输出结果为:[1,2,3,4,5,6]
2、创建新的数组,利用indexOf去重
var shop=[1,2,3,4,5,1,3,6]
var newshop=[]
//遍历当前数组
shop.map((item, i) => {
//若临时数组里没有当前数组的当前值,则把当前值push到新数组里
if (newshop.indexOf(item) === -1){
newshop.push(item)
}
})
console.log(newshop)
输出结果为:[1,2,3,4,5,6]
3、循环嵌套,利用splice去重
var shop=[1,2,3,4,5,1,3,6]
var newshop=[]
//遍历当前数组
shop.map((item, i) => {
shop.map((oitem, j) => {
//若第一个与第二个想等则删除第二个
if (shop[j+1] && item === shop[j+1]){
shop.splice(j+1,1);
}
})
})
console.log(shop)
输出结果为:[1,2,3,4,5,6]
4、ES6 利用reduce
var shop=[1,2,3,4,5,1,3,6]
//利于增加遍历效率
var newshop={}
shop= shop.reduce((cur,next) => {
newshop[next] ? "" : newshop[next] = true && cur.push(next);
return cur;
},[])
//设置cur默认类型为数组,并且初始值为空的数组
console.log(shop)
输出结果为:[1,2,3,4,5,6]