includes()方法和indexOf()方法数组去重

数组去重常用的两种方法

includes()方法和indexOf()

1.includes()数组去重实现原理

includes()方法来判断一个数组是否包含一个指定的值,根据情况,如果包含就返回true,不包含就返回false
Array.isArray() 用于确定传递的值是否是一个数组

var arr = [1,1,15,15,true,false,true,false,NaN,0,"0"]
function fn(arr){
	if(!Array.isArray(arr)){
		cosloe.log('type error!')
		return
	}
var array = []
for(var i = 0; i < arr.length; i++){
		if(!array.includes(arr[i])){
		array.push(arr[i])
		}
	}
	return array
}
console.log(fn(arr))
//(7) [1, 15, true, false, NaN, 0, "0"]

2、indexOf()数组去重实现的原理

数组的indexOf()方法可返回某个指定的元素在数组中首次出现的位置。该方法首先定义一个空数组arrray,然后调用indexOf方法对原来的数组进行遍历判断,如果元素不在array中,则将其push进array中,最后将res返回即可获得去重的数组.(判断新创建的数组中是否有a[i],如果没有indexOf返回-1,并且把a[i]放入该新数组中)

var arr = [1,1,15,15,true,false,true,false,NaN,0,"0"]
function fn(arr){
	if(!Array.isArray(arr)){
		console.log('type erreor')
		return
	}
	let array = []
	for(var i = 0; i < arr.length; i++){
		if(array.indexOf(arr[i]) === -1){
			array.push(arr[i])
		}
	}
	return array
}
console.log(fn(arr))
//[1, 15, true, false, NaN, 0, "0"]
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值