zoukankan      html  css  js  c++  java
  • 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]
    
  • 相关阅读:
    依赖注入方法
    依赖注入
    用spring来控制反转(ioc)
    ioc控制反转笔记
    写模块的流程例子
    淘淘商城笔记1
    二叉树的前序中序后序遍历
    专题2 二叉树(go)
    专题1:二分查找
    python自动化开发-[第三天]-编码,函数,文件操作
  • 原文地址:https://www.cnblogs.com/leee/p/5550691.html
Copyright © 2011-2022 走看看