zoukankan      html  css  js  c++  java
  • js数组的声明与应用

    js数组的声明与应用

    数组:一种容器,存储批量数据。
    JavaScript是一种弱类型语言。什么是弱类型,就是变量可以存储多种类型变量的引用不会报错。
    所以js数组可以存储不同的数据。

        一、数组的作用:只要是批量的数据都需要使用数组声明
        
        二、如何声明数组
            1、快速声明数组
                var 数组名=[元素1,元素2,....];
            2、
        
        三、遍历数组
        
        四、数组的处理
        

    <script>
    /*快速声明数组*/
        /*
        var names=["张三","李四","王五"];
        var arrs=[
            ["111","222"],
            ["aaa","bbb"]
        ];
        alert(names[1]);
        alert(arrs[1][1]);
        */
    /* 对象类型的声明 */
        /*
        var p=new Object();
        
        p.name="zhangsan";
        p.age=10;
        p.sex="nan";
        */
        /*
            json表示法:
            {属性1:值,属性2:值2 ...}
            var p={
                "name":"zhangsan",
                "age":10,
                "sex":"nan"
                };
        */ 
        /*
        var p={
                "name":"zhangsan",
                "age":10,
                "sex":"nan"
                };
            
        alert(p.name);
        alert(p["name"]);
        */
        //对象的这种表示方式是不是像一个数组,所以我们模拟出数组的一种方式。
        /*function myArray(){
            var o=new Object();
            o.length=arguments.length;
            if (o.length>0){
                for(var i=0;i<arguments.length;i++){//这里要注意,如果属性是变量不可以使用.的方式,一定要使用[]属性的方式才可以
                    o[i]=arguments[i];
                }
            }
            return o;    
        }
        var myArray=new myArray(1,2,5,7,9);
        alert(myArray.length);
        alert(myArray[1]);
        */
        
        /*既然连我们都可以模拟出一个数组对象,更何况大牛们,所以JavaScript为我们提供了一个数组对象:Array*/
        /*
        var arr=new Array(10);
        alert(arr.length);
        alert(arr[1]);//数组的元素如果没有值,默认是undefined
        */
        /*s
        Array对象的一些方法与属性:
            属性:length 返回数组的长度
            方法:
                concat([item1[, item2[, . . . [, itemN]]]]) 将多个数组组合成一个数组
                join(separator)返回由指定分割符隔开的数组内容的字符串形式
                reverse() 将数组元素反转,逆序
                slice(start[,end])截取数组。如果end不填,返回的是从start下标到结尾的数组对象。如果end为正数,截取的就是区间[start,end),如果end是负数,表示倒数第几位
                
                splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])从数组指定位置移除指定长度的元素,可以在移除的位置插入新元素,返回所移除的元素,item1...是可变参
                sort();排序数组元素,默认使用自然排序。可以传入一个比较方法,类似于treeMap中的比较器对象
                
                push(([item1 [item2 [. . . [itemN ]]]]))加入元素在结尾,返回数组的长度
                pop() 将数组视为栈结构,删除结尾元素
                shift()将数组视为队列结构,删除第一个一个元素是从第一个位置开始删除 
                unshift([item1[, item2 [, . . . [, itemN]]]]),参数是可变参,添加元素在开始位置,顺序与参数顺序一致
                
        */
        //var arr1=[1,8,3,6,7];
        //var arr2=[2,3,4,2];
        //var arr3=arr1.concat(arr2);
        //alert(arr3);
        //alert(arr3.join("-"));
        //alert(arr1.reverse());
        //alert(arr1.splice(1,2));
        //alert(arr1.slice(2,3));
        //alert(arr1.sort());
        //依据字符串长度排序
        var arr1=["aa","aaaa","bbb","e","bbbbb"];
        /*
        arr1.sort(function(a,b){
            if(a.length>b.length){
                return -1;
            }else if(a.length==b.length){
                return 0;
            }else{
                return 1;
            }
        });
        alert(arr1);
        */
        arr1.push("bk");
        alert(arr1);
        arr1.pop();
        alert(arr1);
        arr1.unshift("ss");
        alert(arr1);
        arr1.shift();
        alert(arr1);
    </script>
    View Code
    <html>
        <head>
        
        </head>
        
        <body>
        
        </body>
    </html>
    
    <script>
    //需求:实现贪吃蛇的地图以及蛇起点和食物坐标的位置
    
    /*
        分析:
            地图怎么做呢?
                使用div,然后给背景颜色,div固定长宽,背景,边框,定位,作为一个格子。由多个格子组成地图
            起始格子和食物格子怎么做呢?
                也是div,这个使用随机数,所有的格子组成一个二维数组。随机获取一个坐标,然后背景颜色改变。
    */
        var rows=20;
        var cols=20;
        var width=20;
        var height=20;
        var top=100;
        var left=500;
        //var bg="yellow";
        var arr=new Array(rows);
        for(var i=0;i<arr.length;i++){
            var temp=new Array(cols);
            for(var j=0;j<temp.length;j++){
                temp[j]=0;
            }
            arr[i]=temp;
        }
        //alert(arr);
        var row1=random(rows);
        var col1=random(cols);
        arr[row1][col1]=1;
        do{
            var row2=random(rows);
            var col2=random(cols);
        }while(row2==row1 || col2==col1)
        arr[row2][col2]=2;
        //alert(row1+"--"+col1);
        function random(a){
            return parseInt(Math.random()*a);
        }
        
        for(var j=0;j<rows;j++){
            for(var i=0;i<cols;i++){
                if(arr[j][i]==1)
                    var bg="red";
                else if(arr[j][i]==2)
                    var bg="blue";
                else
                    var bg="yellow";
                document.write("<div style='background-color:"+bg+";position:absolute;top:"+(100+j*height)+"px;left:"+(left+i*width)+"px;"+width+"px;height:"+height+"px;border: 1px white solid;'></div>");
        }
        }
        
        
    </script>
    View Code
  • 相关阅读:
    获取本地IP地址
    c#从服务器下载文件代码
    Jquery 树控件(Jquery)
    Request.ServerVariables 参数大全
    Developing for App StoreBuilding an App for the App Store02
    App Store1.11
    Basic Tasks1.6
    Design Patterns1.8
    Frameworks1.7
    App Design1.10
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/5615919.html
Copyright © 2011-2022 走看看