javascript篇:javascript对象——Array

  1. 创建Array对象的语法:
    var myArray = new Array();//空数组,length为0

    var myArray = new Array(size);//长度为size,元素为undefined

    var myArray = new Array(element0,element1,...elementn);//创建数组并赋值

    var myArray = [1,2,3];

  2. Array对象的属性
    1. constructor
    2. length
      可读写,进行修改时,有可能会造成元素值的丢失。
      var arr=[1,2,3,4,5,6];
      alert(arr.length); //显示数组的长度6
      arr.length=10; //增大数组的长度
      alert(arr.length); //显示数组的长度已经变为10 alert(arr[8]); //显示第9个元素的值,为undefined arr.length=5; //将数组的长度减少到5
      alert(arr[8]); //再次访问时,第9个元素已经变为"undefined" arr[9] = 12; //将数组长度恢复为10 alert(arr.length); //10

       

    3. prototype

  3. Array对象的方法
      
    1 function writeLine(element){
    2      document.write(element + "<br />");
    3 }
    1. concat([param1,param2,...,paramn])  
      把所有参数从后面连接到数组中,参数可以是数组,也可以是具体元素,可同时包含数组和具体元素两种参数,并且会把数组中元素添加到对象中,而不是数组。但是,需要注意的是,该方法不会改变现有数组,仅仅返回一个连接后的数组副本。无参则表示返回原数组的副本,与slice(0)效果相同。
    2. join([separator])  
      在每两个相邻元素之间插入separator(默认为逗号)来生成一个一个字符串,并返回该字符串。
    3. pop()  
      删除并返回数组的最后一个元素。若数组为空,则pop()不改变数组,返undefined值。该方法直接修改原有数组。
    4. push(element1[,element2...,elementn])  
      向数组末尾添加至少一个元素,并且返回新的长度。该方法直接修改原有数组。
    5. reverse()  
      颠倒数组中元素的顺序。该方法会改变原来的数组,而不是创建并返回新的数组。
    6. shift()  
      删除并返回数组的第一个元素。若数组为空,则不尽兴任何操作,并返回undefined。该方法直接修改原有数组。
    7. slice(start[,end])  
      从已有数组中返回start到end(不包括end)范围内的元素。start和end为负数的时候,指倒数第n个位置。如-1,指倒数第一个元素,-2指倒数第二个元素,以此类推。该方法不会修改数组,而是返回一个子数组。
    8. sort([sortFunc])  
      对数组元素进行排序,返回对数组的引用,不生成副本而是直接作用于原数组。可选参数必须是具有两个参数(a,b)的函数,比较a和b,并返回一个数字,用于说明两个值的顺序(a在b前面返回负数,a和b并列返回0,a在b后面返回正数)。若不传入可选参数,将按字符编码顺序对数组中的元素进行排序。
       1 function arraySort(){
       2     debugger;
       3     //var myArray = new Array(5,8,6,‘a‘,‘c‘,‘b‘,‘e‘,1,3,2,4);字符夹杂在数字中(或数字夹杂在字符中)混合,结果会乱。
       4     //var myArray = new Array(1,3,2,4,‘a‘,‘e‘,‘c‘);如此却不会,先排序字符,再排序数字。何解?编码问题吗?
       5     var myArray = new Array(1,4,3,8,6,9);
       6     writeLine(myArray);
       7     myArray.sort(compareLarge2Small);
       8     writeLine(myArray);
       9     myArray.sort(compareSmall2Large);
      10     writeLine(myArray);
      11 }
      12 //从大到小排序
      13 function compareLarge2Small(a,b){
      14     if(a>b){
      15         return -1;
      16     }
      17     else if(a == b){
      18         return 0;
      19     }
      20     else{
      21         return 1;
      22     }
      23 }
      24 //从小到大排序
      25 function compareSmall2Large(a,b){
      26     if(a>b){
      27         return 1;
      28     }
      29     else if(a == b){
      30         return 0;
      31     }
      32     else{
      33         return -1;
      34     }
      35 }
    9. splice(index,amount[,item1,item2,...,itemn])  从数组中删除[并替代(如果有可选参数)]一定数量(index为第一个,共amount个)的元素,返回被删除元素(如果有的话),该方法会改变原始数组。index:必需,指定添加/删除的位置,可使用负数从结尾处逆向指定位置。amout:必需,>=0,要删除的项目数。item1..itemn:向数组添加的新项目。
      1 function arraySplice(){
      2     var splArray = new Array(1,2,3,4,5,6,7,8,9);
      3     var del = splArray.splice(5,3,‘a‘,‘b‘,‘c‘);
      4     writeLine(del);
      5     writeLine(splArray);
      6 }
    10. toSource()
      表示对象的源代码,通常由javascript在隐式调用,并不显式地出现在代码中,并且不是所有的浏览器都支持。
    11. toString()
      返回该数组的字符串表示。返回值与无参join()一样。
    12. toLocalString()

    13. unshift(newelement1[,newelement2,...,newelementn])
      向数组的开头添加至少一个元素,并返回新的长度。直接修改原数组。
    14. valueOf()
      返回Array对象的原始值,该原始值由Array对象派生的所有对象继承,通常由javascript隐式调用,并不会显式出现在代码中。

    注意事项:

  • 顺序指定位置是从0开始,逆序是从-1开始

javascript篇:javascript对象——Array,布布扣,bubuko.com

javascript篇:javascript对象——Array

上一篇:0715-----C++Primer听课笔记-----------函数指针 、单例模式


下一篇:Java-Tomcat内存溢出详解