zoukankan      html  css  js  c++  java
  • javascript 数组去重

    /*数组去重*/
    /*思路:将arr数组中的每一项相互进行比较
    方法:创建一个新的数组,存放arr[0] 将arr中每一项与res[j]比较,若有一个相等,则结束
    遍历比较,通过break跳出,若每一项都不相等,则push到res
    通过创建m变量记录是否全部不相等或者存在一个相等,相等则改变m的值,只有当m的值为1时表示
    全部不相等*/
    /*
    问题:注意m的作用域
         条件语句的条件
    */
    
    function unique(arr) {
        var res = [];
        res.push(arr[0]);
        for (var i = arr.length - 1; i >= 0; i--) {
            var m =1;
            for (var j= 0; j< res.length; j++) {
                if (arr[i]== res[j]) {
                    m=0;
                    break;
                }
            }
            if(m!=0){
                res.push(arr[i]);
            }
            
        }
        return res;
    }
    
    var arr = [12, 45,56,4,2,3,4,5,3,1,2];
    var ff = [];
    ff = unique(arr);
    for (var i = 0; i < ff.length; i++) {
        console.log(ff[i]);
    }
    /*数组去重*/
    /*思路:首先将数组排序,将排序后的第一个值赋值给res,遍历arr,并与res的最后一个
    值比较,不等则push,否则跳过*/
    /*问题,注意比较的对象,下标 表示*/
    
    function unique02(arr) {
        arr.sort();
        var res = [];
        res.push(arr[0]);
        for (var i = 0 ;i<arr.length;i++) {
            if (arr[i]!=res[res.length-1]) {
                res.push(arr[i]);
            }
        }
        return res;
    }
    var arr = [12, 45,56,4,2,3,4,5,3,1,2];
    var ff = [];
    ff = unique02(arr);
    for (var i = 0; i < ff.length; i++) {
        console.log(ff[i]);
    }
    /*数组去重*/
    /*思路:调用indexOf方法不存在即返回-1的特性*/
    /*问题:注意indexOf方法并不是所有的浏览器都支持,IE8包括IE8都不支持*/
    
    
    function unique03(arr) {
        var res= [];
        for (var i = 0 ;i<arr.length;i++) {
            if (res.indexOf(arr[i])==-1) {
                res.push(arr[i]);
            }
        }
        return res;
    }
    var arr = [12, 45,56,4,2,3,4,5,3,1,2];
    var ff = [];
    ff = unique03(arr);
    for (var i = 0; i < ff.length; i++) {
        console.log(ff[i]);
    }
  • 相关阅读:
    解决url传递过程中加号变空格的问题<转>
    windows下CEF3的关闭流程《转》
    mfc封装cef浏览器 关闭整个窗口程序得时候又重启mfc 应用的程序
    雷神免费资源
    LCA的 RMQ解法模版
    最新的js焦点图库
    whereis+whatis+man
    Anroid 手机助手 详细解析 概述(二)
    <c:forEach varStatus="status">中 varStatus的属性简介
    JBoss 系列四十九:JBoss 7/WildFly 中端口使用列表
  • 原文地址:https://www.cnblogs.com/html-css-js/p/7481932.html
Copyright © 2011-2022 走看看