常用的数组去重方法

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]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值