zoukankan      html  css  js  c++  java
  • 数组去重方法1,2,3

    第一种方法:写个判断是否相等的函数,然后调用这个函数生成一个新数组
    function norepeat(arr) {
        var brr=[];
       for(var i=0;i<arr.length;i++){
           if(!fn(brr,arr[i])){     //brr,arr[i]是实参进入fn函数中,brr这个空数组与a[i],逐个相比,若不相同,则把这个a[i]放入brr数组中。
               //if(!fn(brr,arr[i])表示brr与arr[i]不相等时,因为if里面的条件为真才往下执行。
               //这里if里的条件是当brr与arr[i]不相同时往下执行。
                 brr.push(arr[i])
           }
       }
        return brr;
    
    }
    var a=norepeat([3,8,6,5,48,9,5,89,56,5,8,46,5])
    console.log(a);
    function fn(ar,n) {           //这个函数就是用来比较两个数字是不是相等的,如果相等返回true(这里设置布尔值是为了给上面的if做判断)
        for(var i=0;i<ar.length;i++){
            if (ar[i]===n){
                return true
            }
        }
        return false;
    }
    判断是否相等的函数:
    / /函数has(arr , 60) 判断数组中是否存在60这个元素,返回布尔类型
        function has(arr,n){
            // 先拿到所有数据
            for(var i=0;i<arr.length;i++){
                // 比较
                if(arr[i] === n){
                    //
                    return true;
                }
            }
            // 直到循环结束后,还没有找到,再说没有
            return false;
        }
        var a = has([34,67,89,12,54],"54")
        console.log(a)

    第二种方法:将数组的每一个元素依次与其他元素做比较,发现重复元素,删除

    var a=[5,6,5,8,4,8,54,8,4,4,4,4,4,4]
        for(var i=0;i<a.length;i++){
            for (var j=i+1;j<a.length;j++){
                if(a[i]==a[j]){
                    a.splice(j,1)
                    j--;
                }
            }
        }
        console.log(a)
     第三种方法:
    去重加排序
    var crr=[]
    var arr=[3,6,6,5,4,2,5,9,8,9,9]
    var s=new Set(arr)
    for(var i of s){
    crr.push(i)
    }
    console.log(arr)
    crr.sort(function (a,b) {
    return a-b;
    })
    console.log(crr)
    
    
    
    
    
  • 相关阅读:
    ubuntu下配置django+apache+mysql+mod_python+Python
    Makefile 学习
    一个查重算法的多种实现思路
    MongoDB基础
    基于ASP.NET MVC 3的企业应用项目总结
    CruiseControl.Net持续集成平台搭建总结
    Cnblogs Start
    JavaScript中的this
    Entity Framework 4.0 的一个bug :DefaultValue问题
    .Net平台下的B/S开发框架
  • 原文地址:https://www.cnblogs.com/hy96/p/11385820.html
Copyright © 2011-2022 走看看