zoukankan      html  css  js  c++  java
  • js学习笔记之:数组(一)

       今天来学习一下js中的一维数组、二维数组,以及数组的赋值、遍历、删除、排序等操作;

       1 数组的声明

          js提供了一个数组对象Array,默认是一维数组,其申明的方法如下:

            var aCity = new Array();

         在实际应用中,可以在申明的同时,给数组进行赋值:

            var aCity =  new Array("北京","上海","广州");

         还可以在声明数组时,给数组指定长度;

             var aCity =  new Array(2);

         要说明的是,本方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为2,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。

      2  二维数组声明

           步骤1: 声明一个一维数组   var aCity = new Array();

           步骤2: 声明子数组           aCity[0] = new Array();

                                                aCity[1] = new Array();

                                                aCity[2] = new Array();

                                                //给二维数组赋值:  aCity[0][0] = "常州";

      3 数组赋值:

         给数组赋值有以下几种形式:

          (1)声明时直接赋值

                  var aCity =  new Array("北京","上海","广州");

          (2)添加元素

                 var aCity = new Array();

                 aCity[0] = "南京";

                 aCity.push("北京","四川");       //push方法用于在数组尾部添加元素 ,遍历输出: 南京、北京、四川
                 aCity.unshift("上海","天津");    //unshift方法用于在数组头部添加元素,遍历输出:上海、天津、南京、北京、四川

           (3)指定长度的数组赋值

                  var bCar = new Array(2);
                  bCar.push("奔驰");
                  bCar.push("宝马");
                  bCar.push("沃尔沃");

                 alert(bCar.length);   //请大家一同思考一个问题,这里输出的长度是多少?

                 来看看执行结果:

                                        

                是的,是5,而不是3,也就是说,在声明数组时所占用的2个长度,并没有给赋值,那么我们可以输出bCar[0]和bCar[2]来看看:

                   

              输出结果可以看到,bCar[0]和bCar[1]没有进行赋值,push方法是从bCar[2]开始添加元素;同理我们使用 bCar.unshift("皇冠","别克");进行添加元素,

             结果是:"皇冠","别克"两个元素也不占用系统分配的2个空元素,插入在空元素之前,这时的bCar[3]、bCar[4]变成了空元素;

            那么,我们如何给这两个空元素进行赋值呢?

                     var bCar = new Array(2);

                      bCar[0] = "福特";

                     bCar[1] = "本田";

            这样赋值方法,即给空元素指定赋值了,其数组长度任然为2;     

            综上所述: push方法和unshift方法严格讲是“插入元素”,并不覆盖数组初始化声明时所产生的空元素,这里在使用的时候要注意;

           

               

              

  • 相关阅读:
    冒泡排序
    Objective-C 命名规范
    时间轴的制作
    CocoaPods 哪些事
    消息转发机制入门篇
    架构
    算法学习
    AutoLayout自动布局
    网络学习
    HDU 3832 Earth Hour (最短路)
  • 原文地址:https://www.cnblogs.com/njcolin/p/3510214.html
Copyright © 2011-2022 走看看