JavaScript-数组

一、基础内容
1.数组元素
   数组元素是指存储在数组中并赋予唯一索引号的数据段,各元素的数据类型可以是任意有效的JavaScript数据类型,元素按添加    进数组的顺序存储于数组中
2.多维数组
   单维数组是指可以通过一个索引号即可指定一个元素的数组,多维数组是指通过两个或两个以上的下标索引号才能确定一个元      素的数组,不支持严格意义上的
   多维数组,但是由于数组元素数据类型可以任意,因此可以将数组对象作为数组元素以实现近似多维数组的功能
3.创建数组
a.创建一个空数组    var array=new Array();
   其中Array()为数组对象的构造函数
b.通过指定数组长度创建数组(数组元素个数即为数组长度,数组对象的length属性指示数组的长度)   
    var array=new Array(size)
    size指明新建的数组有多少个元素。数组对象的length将被设置为size,仅指定数组长度但没有实际填充元素的数组得不到数据存    储空间。
c.通过指定数组元素创建数组(常用在数组元素准备就绪的情况下)

   var array=new Array(元素1,元素2,,元素3...)

<script language="JavaScript">
     var array=new Array("Lily","Alice","Lucy","Jouch");
     for(i in array){        <!--遍历输出数组中的每个元素-->
           document.write(array[i] + " ");
     }
</script>  


d.直接创建数组(使用"[]"运算符直接创建,数组元素也是创建式指定的)
    var array=["Lily","Alice","Lucy","Jouch"];
二、数组元素基本操作
1.读取数据元素
   使用"[]"运算符,一次可以读取一个运算符,目标元素通常由下标索引号决定,使用"[]"运算符通过递增或递减下标索引即可遍历数      组的所有元素
   数组名.[下标索引];
   var array=new Array("Lily","Alice","Lucy","Jouch");
   var find=array[1];
2.添加数组元素 
   使用push方法可以向数组尾部添加元素,使用unshift方法可以向数组头部添加元素
   var student=new Array("Lily","Alice","Lucy","Jouch");
   student.push("铁蛋");
   也可以使用"[]"运算符指定一个新下标来添加元素,新元素添加到指定的下标处,如果指定的下标超过数组长度,数组将被扩展   为新下标指定的长度
3.删除数组元素
   数组元素可以动态删除,剩下的元素按原顺序重新组合为新数组,下标也被重新按从0开始顺序赋予每个元素,通常使用delete    运算符删除一个指定的元素,如果需要删除全部元素只需要删除数组对象即可
   var student=new Array("Lily","Alice","Lucy","Jouch");
   delete student[0];
4.数组元素的个数 
   length属性指示了数组元素的个数,在得知数组长度的情况下可以方便地遍历整个数组
   var student=new Array("Lily","Alice","Lucy","Jouch");
   var len1=student.length;
   尽管指定了数组的length属性,真正的有效元素只包含已经存入数据的元素,其他没有真正填充数据的元素仍然为空

三、数组对象常见操作(Array对象提供的常用方法包括toString,join,push,pop,unshift,shift,concat,splice,slice,reverse,sort和                       toLocalString等)
1.将数组转换为字符串
    toString方法将数组表示为字符串,各元素按顺序排列组合,使用","分隔符组合为字符串返回,通常使用在全部输出数组元素数    据的场合。
   对象名.toString([radix]);
   radix为可选项,表示进制,当对象是数字对象时该参数起作用

<script language="JavaScript">
       var student=new Array("Lily","Alice","Lucy","Jouch");
       document.write(student.toString());
</script>


2.将数组元素连接成字符串
    toString方法将数组所有元素使用","分隔符组合为字符串,分隔符固定不变。
    使用join方法可以指定连接符号,该方法同样是将数组元素组合为字符串,但是连接符号由用户指定
    数组名.join(分隔符)
    注意分隔符是必选项,作为各元素间的分隔字 符  

 <script language="JavaScript">
        var student=new Array("Lily","Alice","Lucy","Jouch");
        document.write(student.join("*"));
 </script>


3.在数组尾部添加元素
  push方法,一次可添加单个元素或多个元素到数组末端,如果添加的是数组,仅将数组对象的引用添加为原数组的一个元素,     而不是所有元素添加至其中
  数组名.push(元素1,元素2,元素3...);

<body>
    <h1>push方法的使用</h1>
    <script language="JavaScript">
          var student=new Array();
          while(true){
                var name=prompt("请输入名字","名字");
                if(name=="null")break;
                student.push(name);
          }
          var list=student.join(" ");
          document.write(list);
    </script>
</body>

4.删除数组中最后一个元素
   pop方法的作用是移除数组末尾的一个元素,与delete运算符不同的是,pop方法删除最后一个元素后将其引用返回,pop通常      结合push一起使用
   数组名.pop();

<script language="JavaScript">
       var student=new Array(1,2,3,4,5);
       for(;student.length!=0;){
              var handle=student.pop();
              document.write("<br>已出: " + handle);
       }
       document.write("<br>全部出去!");
</script>


5.删除数组顶端的元素
   shift方法移除数组的第一个元素并将其返回,该方法执行后数组剩下的元素相前移动,下标索引号重新调整从0开始顺序赋予所    有元素,shift方法和pop方法结合使用可以将数组当队列使用
   数组名.shift();
6.在数组头部添加元素
    unshift方法将元素插在数组的首部,一次可插入单个或多个元素,所有元素按顺序插入,操作完成后返回新数组的引用,新数       组的元素下标索引号将从0开始按顺序赋予各个元素

<script language="JavaScript">
        var array=new Array(1,2,3);
        array.unshift(4,5,6);
        document.write(array);     <!--结果4,5,6,1,2,3-->
</script>


7.添加元素并生成新数组
   concat方法可以将多个数组的元素连接起来成为新的数组,新数组中的元素按连接时的顺序排列,该方法常用在合并多个数组
   数组名.concat(item1,item2...)
   item是可选项,表示要连接到"数组名"引用的数组末尾的其他项目,可以是数组对象也可以是单个数组元素,或者其他                    JavaScript对象         

<script language="JavaScript">
       var queueA=new Array("顾客1","顾客2","顾客3","顾客4","顾客5");
       var queueB=new Array("顾客A","顾客B","顾客C","顾客D","顾客E");
       var qa=queueA.join("-");
       var qb=queueB.join("-");
       document.write("窗口前的两个队伍: ");
       document.write("<br><li>" + qa);
       document.write("<br><li>" + qb);
       queueA=queueA.concat(queueB);
       document.write("<br>合并后的新数组是: " + queueA);            
</script>


8.删除、替换、插入数组元素
   splice方法用于从一个数组中移除一个或多个元素,剩下的元素组成一个新的数组,移除的元素组成另一个数组并返回它的引用
   此时可以在移除的开始位置处顺带插入一个或多个新元素,达到修改替换数组元素的目的
   数组名.splice(start,deletecount,[item1,item2...]);
   start 必选项,表示从数组中剪切的起始位置下标索引号
   deletecount 必选项,表示切取的元素个数
   item 可选项,表示切取时插入原数组切入点开始处的一个或多个元素,要求为有效的JavaScript对象
   总的来说,splice方法可以对数组进行剪切(start,count)、替换(start,count,item...)、插入操作(start,0,item...)

<script language="JavaScript">
      var queueA=new Array("顾客1","顾客2","顾客3","顾客4","顾客5");
      document.write("<li>原来的队伍: " + queueA);
                    <!--从下标为2的地方开始剪切3个,组成新的数组返回给queueB-->
      var queueB=queueA.splice(2,3);        
      document.write("<li>调整后的队伍是: " + queueA);
      document.write("<li>剪切下来的数组是: " + queueB);
                    <!--从位置1剪切0个元素,相当于在位置1处添加三个顾客-->
      queueA.splice(1,0,"顾客5","顾客6","顾客7");   
      document.write("<li>进行操作后的数组是: " + queueA);
</script>


   结果:
   原来的队伍: 顾客1,顾客2,顾客3,顾客4,顾客5
   调整后的队伍是: 顾客1,顾客2
   剪切下来的数组是: 顾客3,顾客4,顾客5
   进行操作后的数组是: 顾客1,顾客5,顾客6,顾客7,顾客2
9.获取数组中一部分元素
   slice方法作用是切取数组的一段元素,即切取指定下标索引区间中的元素作为新数组返回
   数组名.slice(start,end)
   start必选项,表示将要切取的起始下标索引号
   end可选项,表示要切取的结束下标索引号,如果省略该项则自动切取到数组结尾。
   slice方法一直复制到end所指定的元素,但是不包括该元素,如果start为负,将它作为start+length处理,此处length是数组长度;    同理,如果end为负,则将其作为end+length处理。如果end出现在start之前,不复制任何元素

<script language="JavaScript">
      var queueA=new Array();
      queueA.push("顾客1","顾客2","顾客3","顾客4","顾客5");
      document.write("<li>原来的队伍: " + queueA);
      queueA=queueA.slice(1,4);          <!--切取下标从1-3的数组元素作为新数组并返回-->
      document.write("<li>进行操作后的数组是: " + queueA);     <!--输出切取下来的数组-->
</script>


     结果:
     原来的队伍: 顾客1,顾客2,顾客3,顾客4,顾客5
     进行操作后的数组是: 顾客2,顾客3,顾客4
10.颠倒数组元素的顺序
     数组名.reverse();
    reverse方法将数组中所有元素的次序反转,然后返回元素顺序反转后的数组对象的引用(在本数组基础上进行反转,具体见下例)      

<script language="JavaScript">
        var queueA=new Array();
        queueA.push("顾客1","顾客2","顾客3","顾客4","顾客5");
        document.write("<li>原来的队伍: " + queueA);
        var queueB=queueA.reverse();          <!--对queueA数组进行反转-->
        document.write("<li>检验原数组是否变化: " + queueA);     <!--貌似是在queueA数组基础上进行反转-->
        document.write("<li>进行操作后的数组是: " + queueB);
</script>


     结果:
     原来的队伍: 顾客1,顾客2,顾客3,顾客4,顾客5
     检验原数组是否变化: 顾客5,顾客4,顾客3,顾客2,顾客1
     进行操作后的数组是: 顾客5,顾客4,顾客3,顾客2,顾客1
11.对数组元素进行排序
     sort()方法可以将一个数组中所有元素进行排序,执行时首先将调用该方法的数组元素按用户指定方法进行排序,排序后的所        有元素构成一个新的数组并返回之
     数组名.sort(sortfunction);
    sortfunction可选项,用来确定元素顺序的函数名称,如果改参数省略将按照ASCII字符顺序对数据进行升序排列,其中                     sortfunction是一个双参数函数
    它必须返回下列值之一:
    负值:表示第一个参数小于第二个参数
    零:表示两个参数相等
    正直:表示第一个参数比第二个参数大
    使用排序规则回调函数sortfunction(),用户可以规定sort函数如何对数组中的元素进行排序   

<script language="JavaScript">
         var queueA=new Array();
         function sortfunc(a,b){    <!--设置从大到小排序-->
              if(a>b)return -1;
              else if(a==b)return 0;
              else return 1;
         }
         queueA.push(5,8,1,4,9,0);
         document.write("<li>原来的队伍: " + queueA);
         queueA.sort(sortfunc);
         document.write("<li>进行操作后的数组是: " + queueA);
</script>


     结果:
     原来的队伍: 5,8,1,4,9,0
     进行操作后的数组是: 9,8,5,4,1,0
12.讲对象转换为本地字符串
     toLocaleString()方法的作用是将一个对象转换为本地字符串,主要针对日期对象
    obj.toLocaleString();
    obj属于Array、Date、Number、Object类型对象

 <script language="JavaScript">
        var date=new Date();
        alert(date.toLocaleString());
 </script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值