zoukankan      html  css  js  c++  java
  • javascript004引用类型

    –掌握数组的概念、特性、常用方法(重点)
    –掌握Object,学会使用对象(重中之重)
    –了解其他引用类型对象
    一:数组
    •在ECMAScript中数组是非常常用的引用类型了。ECMAScript所定义的数组和其他语言中的数组有着很大的区别。那么首先要说的就是数组也是一种对象。
    •特点:
    –“数组”即一组数据的集合。
    –js数组更加类似java的容器。长度可变,元素类型也可以不同!
    –数组长度随时可变!随时可以修改!(length属性)
    •常用方法:
    –push、pop
    –shift、unshift
    –splice、slice
    –concat、join、sort、reverse等
    代码:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <title>Untitled Document</title>
            
            <script type="text/javascript" charset="utf-8">
                
                /**
                 * 数组本身也是对象,是引用类型
                 * js中的数组类似java中的map容器,长度可以改变,元素类型任意
                 */
                //var arr1 = new Array();    //即使指定长度也没用,长度可随时变  不推荐用
                
                //推荐方式:
                //var arr = [1,2,3,true,"aaa",new Date()];
                
                //alert(arr.length);
                //arr.length = 5;    
                //alert(arr);  //隐式调用arr.toString方法,并截取前五个元素1,2,3,true,"aaa"
                
                /**
                 * push 和 pop 方法
                 */
                /*
                var arr =[];
                //push往数组追加元素,可以多个有返回值为新数组长度
                var result = arr.push(1,2,'aa',true);
                alert(arr);    //1,2,'aa',true
                alert(result); //4
                //从数组尾部移除一个元素,返回值为移除的元素
                var re = arr.pop();
                alert(arr);    //1,2,'aa'
                alert(re);    //true
                */
                /**
                 * shift  和 unshift 方法
                 */
                /*
                var arr = ["aa",1,2,true];
                var re = arr.shift();    //从头部移除一个元素,返回移除的元素
                alert(re);
                
                var r1 = arr.unshift(10,false); //从头部插入多个元素,返回新数组的长度
                alert(r1);    
                 */
                /**
                 * splice截取与替换数组元素 操作数组本身、slice方法:不操作数组本身
                 */
                //splice :第一个参数:起始位置
                //           第二个参数:截取的个数
                //           第三个参数以后:追加的元素
                //var arr = [1,2,3,4,5];
                //arr.splice(1,2,3,4,5);    //134545
                //arr.splice(1);    //从第一个截取,就剩下1了。
                //arr.splice(1,2); //从第一个开始截,往后2个。1 4 5 
                //alert(arr);
                
                //slice 从位置2截取到位置4:左闭右开 。返回截取的内容
                /*
                var arr = [1,2,3,4,5];
                var r = arr.slice(2,4);     
                alert(r);    
                alert(arr);    //12345
                */
                
                //操作数组的方 concat 合并。 join 在每个元素之间加入内容   不操作数组本身 
                /*
                var arr1 = [1,2,3,true];
                var arr2 = ['aa','bb'];
                var r1 = arr1.concat(arr2);    //concat
                //alert(r1);
                
                var r2 = arr1.join('-');    //join
                alert(r2);*/
                
                /*
                 * sort正序排序 需要自己定义排序规则
                 * reverse 倒叙排序   需要自己定义排序规则
                 */
                var arr1 = [5,2,1,4,3];
                var arr2 = [10,2,4,1,7];
                
                //arr1.sort();
                //alert(arr1);//正序排序12345
                //arr1.reverse();//倒叙按集合位置排序
                //alert(arr1);
                //arr2.sort();
                //alert(arr2); //1 10 2 4 7 按字符串比较
                
                function compare(value1,value2){
                    if(value1 < value2){
                        return -1;        //1 调整顺序,倒叙
                    }else if(value1 > value2){
                        return 1;        //-1
                    }else{
                        return 0;
                    }
                }
                //传入排序规则  1,2,4,7,10        
                arr2.sort(compare);
                alert(arr2);
            </script>
        </head>
        <body>
        </body>
    </html>
  • 相关阅读:
    Acwing 164 可达性统计 (拓扑排序+bitset)
    STL-bitset的基本用法
    Acwing 115 给树染色 (贪心)
    Acwing 112 雷达设备 (贪心)
    Acwing 110 畜栏预定 (贪心+stl)
    Acwing 110 防晒 (贪心算法)
    Acwing 七夕祭 (前缀和+中位数+思维)
    Acwing 103 电影 (map)
    USACO 最佳牛围栏 (二分答案+前缀和+双指针)
    Acwing 101 最高的牛 (差分数组)
  • 原文地址:https://www.cnblogs.com/lihaoyang/p/4946320.html
Copyright © 2011-2022 走看看