5种方法实现数组元素去重(详解)

本文详细介绍了五种在JavaScript中去除数组元素重复的方法:遍历数组法、对象键值对法、数组下标判断法、排序后相邻去除法以及优化遍历数组法。每种方法都有其特点和适用场景,例如对象键值对法速度快但内存消耗大,排序法不保证元素原有顺序。
摘要由CSDN通过智能技术生成

1.遍历数组法
最简单的去重方法, 实现思路:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中;注意点:判断值是否在数组的方法“indexOf”是ECMAScript5 方法,IE8以下不支持,需多写一些兼容低版本浏览器代码,源码如下:

//最简单的数组去重
function noReapet1(arry){
	//定义一个临时的空数组
	var arr = [ ];
	for ( var i = 0 ; i < arry.length ; i++){
		//如果当前数组中第i个元素已经保存到临时数组,那么跳过
		//否则将该元素存入到临时数组中
		if ( arr.indexOf( arry[i]) == -1)//indexOf()方法,检索字符串中的值是否出现,没出现返回-1
			arr.push( arry.[i])
		}
		return arr;
	}
	//判断浏览器是否支持indexOf,indexOf是es5的新方法,IE8及以下版本不支持该方法
	if( !Arry.prototype.indexOf){
		//不支持的情况下,为其增加indexOf方法
		Arry.prototype.indexOf = function(item){
			var result = -1, a_irem = null;
			if( this.length == 0){//当数组为空时,直接返回-1
				return result;
			}
			for( var i = 0 ; i <this.length ; i++){
				//将数组中第I个元素赋值给a_item,
				a_item = this[i];
				if( a_item === item){//如果ite
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值