Fork me on GitHub

李可

导航

统计

javascript:算法之数组去重

回到顶部

/*******************************111111111***********************************/
/*1,最好数组去重方法,利用json的键的唯一性*/
function removeRepeator(oldArr){
   var newArr=[];//放结果的空数组
   var tempJson={};//中间临时json对象
   for (var i = 0; i < oldArr.length; i++) {//循环老数组
	   	if (!tempJson[oldArr[i]]) {//oldArr[i],老数组的值,做json的"键""~
			newArr.push(oldArr[i]);//新数组push不重复的值
			tempJson[oldArr[i]]='sth'; //给json增加键和随便的一个值。方便下次循环检测有没有"键""
	   	}
   }
 return newArr;
}
var oldArr=[5,7,9,6,5,1,8,5,4,9]
var newArray=removeRepeator(oldArr);
console.log(newArray);//[5, 7, 9, 6, 1, 8, 4]
回到顶部

/**********************2222222**************************/
/*1,增加一个新数组,将老数组的项目一个一个添加进去,
2,每一次添加的时候,循环新数组,看看新数组有没有这个值,有的话就不添加,没有就添加*/
/*for 嵌套if 嵌套for*/
function removeRepeator2(oldArr){
	var newArr=[];
 for (var i = 0; i < oldArr.length; i++) {
 	if (!isHasThisVal(newArr,oldArr[i])) {
		newArr.push(oldArr[i]);
 	}
 }
 return newArr;
}
function isHasThisVal(newArr,val){
	for (var i = 0; i < newArr.length; i++) {
		if (newArr[i]==val) {
			return true;
		}
	}
	return false;
}
var oldArr=[5,7,9,6,5,1,8,5,4,9]
var newArray=removeRepeator2(oldArr);
console.log(newArray);//[5, 7, 9, 6, 1, 8, 4]

posted on   李可在江湖  阅读(410)  评论(0编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示