zoukankan      html  css  js  c++  java
  • 数组的排序,去重复

    数组的排序:

      一 . 原理版:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
            var arr = [10, 1, 500, 0, 3000];
            var temp = null;
            for (var i = 0; i < arr.length; i++) {
                for (var j = i + 1; j < arr.length; j++) {
                    if (arr[i] > arr[j]) {
                        temp = arr[i];
                        arr[i] = arr[j];
                        arr[j] = temp;
                    }
                }
            }
            document.write(arr);
        </script>
    </head>
    <body>
    
    </body>
    </html>

      二 . 升级版:

          用sort()方法:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>数组排序</title>
        <script>
            var arr = [ 'd', 'e', 'g', 'c' ];
    //        sort();
    //        默认按照字母的ascii码从小到大排序
    //        ASCII码 8位二进制的编码
    //        00000001
            arr.sort();
            document.write( arr );
    var arr = [ 1, 20, 3, 50, 100 ]; arr.sort( function( i, j ){ // 升序: // return i - j; // 降序: return j - i; } ); document.write( arr ); </script> </head> <body> </body> </html>

     数组去重复:

      一 . 原理版:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
            //对数组去重复
            var arr = [50, 10, 20, 10, 10, 30, 30, 50, 100, 200, 10, 10];
            document.write(arr + "<br/>");
            var arr2 = [];
            var count = 0;
            while (1) {
                if (count == arr.length) {
                    break;
                } else {
                    if (!isExist(arr2, arr[count])) {
                        arr2.push(arr[count]);
                    }
                }
                count++;
            }
            document.write(arr2);
            // 判断一个值在不在数组之中
            function isExist(arr, value) {
                for (var i = 0; i < arr.length; i++) {
                    if (value == arr[i]) {
                        //存在
                        return true;
                    }
                }
                //不存在
                return false;
            }
        </script>
    </head>
    <body>
    
    </body>
    </html>

      二 . 升级版:

        用indexOf()方法:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
            //对数组去重复
            var arr = [50, 10, 20, 10, 10, 30, 30, 50, 100, 200, 10, 10];var arr2 = [];
            for ( var i = 0; i < arr.length; i++ ) {
            //在哪里找.indexOf( 找什么值 ), 如果返回值为-1 说明不存在,否则就是存在
            if ( arr2.indexOf(arr[i]) == -1 ) {
                  arr2.push( arr[i] );
               }
            }
            document.write( arr2 );
        </script>
    </head>
    <body>
    
    </body>
    </html>
  • 相关阅读:
    图片剪纸刀:批量切割图片工具
    Photosynth软件试用(将照片拼接成实景)
    制作一份简单的网络地图(世博地图的配准和切割)
    Discuz论坛地图插件(通过自定义Discuz Code实现)
    Maven Settings.xml 配置模板
    CentOS 7 firewalld 配置详解 (转)
    Silverlight学习笔记八右键菜单控件
    Silverlight学习笔记十三关于SilverLight的打印
    Silverlight学习笔记十二动态加载图片和显示提示(ToolTip)
    Silverlight学习笔记十一动态创建TabContro的TabItem
  • 原文地址:https://www.cnblogs.com/wangyihong/p/6441821.html
Copyright © 2011-2022 走看看