zoukankan      html  css  js  c++  java
  • JavaScript 数组方法和属性

    一. 数组对象的操作方法

    1. 数组的创建

    var arr = new Array();           //创建一个数组
    var arr = new Array([size]);     //创建一个数组并指定长度,注意是长度而不是上限
    var arr = new Array([element0,[ element1[, ...[,elementN]]]]);  //创建一个数组并赋初值

    值得说明的是:第二种方式创建数组并制定数组的长度,但实际上数组是变长的,可以将元素存储在制定长度之外,这时数组的长度也会发生改变。

    2.数组元素的访问

    var arr = new Array("a","b"); 
    var brr = arr[0];     //获取数组元素的值
    arr[0] = "c";         //给数组元素赋予新的值

    3. 数组元素的添加

    arrObj.push(newelement1,newelement2,...,newelementX);    //向数组的末尾添加一个或多个元素,并返回数组的新长度
    arrObj.unshift(newelement1,newelement2,...,newelementX); //向数组的开头添加一个或多个元素,并返回数组的新长度,在这个过程中数组中的元素自动后移
    arrObj.splice(insertPos,0,item1,item2,...,itemX);        //向数组指定位置添加一个或多个元素,插入位置的元素自动后移,返回""

    4. 数组元素的删除

    arrObj.pop();                        //移除数组中最后一个元素,并返回该元素值
    arrObj.unshift();                    //移除数组中第一个元素,数组中的元素自动前移,并返回该元素的值
    arrObj.splice(deletePos,deleteCount);//删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素

     5. 数组的截取和合并

    arrObj.slice(start,end);             //返回一个新数组,包含从start到end(不包括该元素)的数组中的元素。若end未被设定,将选取从start到数组结尾的所有元素
    arrObj.concat(item1,item2,...itemX); //返回一个新数组,将多个数组(也可为字符串,或是数组和字符串的混合)连接为一个数组

    6. 数组的拷贝

    arrObj.slice(0); //返回一个新数组,该数组为原数组的一个副本
    arrObj.concat(); //返回一个新数组,该数组为原数组的一个副本

    7. 数组元素的排序

    arrObj.sort();    //对数组中的元素排序
    arrObj.reverse(); //颠倒数组中元素的顺序

    8. 数组元素的字符串化

    arrObj.join(sperator); //把数组中的所有元素放入一个字符串,元素是通过指定的分隔符separator进行分割
    arrObj.toString(); 
    arrObj.toLocaleString(); 

     

    二. 数组对象的属性

    1. length属性

    length属性代表数组的长度,即其中元素的个数。由于数组的索引是从0开始的,所以一个数组的上下限分别是:0和length-1。和其它大多数语言不同的是,JavaScript数组的length属性时可变的。当length属性被设置得更大时,整个数组的状态不会发生变化,仅是length属性变化;当length属性被设置得比原来小时,则原先数组中下标大于或等于length的元素会被全部丢失。看下面的例子

    var arr = [1,2,3,4,5,6,7,8,10];
    console.log(arr.length);        //9
    arr.length = 12; 
    console.log(arr.length);        //12

    console.log(arr[8]);            //10
    arr.length = 5;
    console.log(arr[8]);            //undefined
    arr.length = 12;
    console.log(arr[8]);            //undefined

    JavaScript中可以使用一个未定义的数组元素(索引大于或等于length的元素),这时length属性的值将被设置为所使用元素索引的值加1。

    var arr = [1,2,3];
    arr[10] = 6;
    console.log(arr.length);        //11

    2.prototype属性

    返回对象原型的引用,prototype属性时object共有的。

    objectName.prototype,其中objectName是对象的名称。

    prototype属性提供对象的类的一组基本功能。对象的新实例继承赋予该对象原型的操作。

    给数组对象添加返回数组中最大元素值的方法。为完成这一点,需将该方法添加到数组原型中,即Array.prototype。

    function array_max() {
        var i; 
        var max = this[0];
        for(i=1; i<this.length; i++) {
            if(max < this[i]) max = this[i];
        }
        return max;
    }
    Array.prototype.array_max = array_max;
    var arr = [1,5,7,3,9];
    var res = arr.array_max();
    console.log(res);             //9

    3. constructor属性

    表示创建对象的函数。

    objectName.constructor,其中objectName是对象或函数的名称。

    constructor是所有具有prototype属性的对象的属性。这些对象是指除Global和Math对象以外的所有JavaScript本地对象。constructor属性保存了对构造特定对象实例的函数的引用。

    var x = new String("sa");
    console.log(x.constructor === String);       //true

    时间:2014-10-21

    地点:合肥

    引用:http://www.cnblogs.com/qiantuwuliang/archive/2011/01/08/1930499.html 

  • 相关阅读:
    基于javascript引擎封装实现算术表达式计算工具类
    Windows 服务入门指南
    参数化查询为什么能够防止SQL注入
    Control 的DraggerHelper, 拖动控件从此变得很简单。。。
    书籍推荐记这几年看的书
    使用“using” 的 “Cursor”
    多线程,silverlight_Rest_WCF,dynamic 索引帖
    关于静态事件 static event 的二三事
    探讨 .NET 4 新增的 SortedSet 类
    我们需要莱特希尔报告
  • 原文地址:https://www.cnblogs.com/sun-mile-rain/p/4022324.html
Copyright © 2011-2022 走看看