JS不使用数组方法进行数组去重

JS不使用API进行数组去重

API(Application Programming Interface,应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。 [1] 目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。s

方法一

		function unique(arr) {
				//遍历数组arr,创建空数组result,用来装arr中不重复的值(重复的值只留一个)
			 for(var i = 0,result = []; i < arr.length; i++){
			 		//遍历数组result
		 		for(var j = 0 ;j < result.length; j++){
		 			//令arr中的值与result的值作比较,若相等,则开始下一个值的循环,若不等,跳出循环
		 			if (arr[i] == result[j]) {
		 				break;
		 			}
		 		}
		 		//若在result中没有找到与arr[i]相等的数,就将arr[i]添加到result
		 		if (result.length == j) {
		 			result[result.length] = arr[i]
		 		}
		  }
		  //返回 result的当前值
		  return result;
		}
		//定义数组的元素
		var arr = [1,2,2,4,9,6,6,7,5,2,3,5,6,5];
		console.log(unique(arr))

方法二

		function web(arr) {
		//创建一个hash数组,再创建一个用于存放去重后元素的数组arr1
			for (var i = 0,hash=[],arr1=[]; i < arr.length; i++) {
			//arr里中的元素就是hash数组的下标
				if(hash[arr[i]]===undefined) {
				//满足条件的传入arr1
					arr1[arr1.length]=arr[i];
					//给hash循环传入数据
					hash[arr[i]]='';
				}
			}
			//返回去重后的数组arr1
			return arr1;
		}console.log(web([1,2,3,33,7,8,8,1,56,88,7,2,3]));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值