JavaScript中的Array對象

1.屬性

1.1   constructor

返回對建立此對象的數組函數的引用。數組

語法:object.constructor //object是對象或函數的名稱。函數

說明:constructor 屬性是全部具備 prototype 的對象的成員。它們包括除 Global 和 Math 對象之外的全部 JScript 固有對象。constructor 屬性保存了對構造特定對象實例的函數的引用。this

例如:spa

    var arr1 = new Array();   //size可選,不是上限,是長度
    document.write(arr1.constructor);       //function Array() { [native code] }
    document.write(arr1.constructor == Array);      //true

1.2   length

  設置或返回數組中元素的數目。須要說明的是,若是設置的值比其當前值小,數組將被截斷,其尾部的元素將丟失。若是設置的值比它的當前值大,數組將增大,新的元素被添加到數組的尾部,它們的值爲 undefined。.net

1.3 prototype

使您有能力向對象添加屬性和方法。prototype 屬性是 object 共有的。prototype

語法:objectName.prototype;//objectName 參數是object對象的名稱。code

說明:用 prototype 屬性提供對象的類的一組基本功能。 對象的新實例「繼承」賦予該對象原型的操做。對象

對於數組對象,如下例子說明prototype 屬性的用途。blog

        function setName(name)
        {
            Array.prototype.name = null;
            this.name = name;
            //
            //this.name = name;
        }

        //建立一個數組並賦值
        var arr2 = ["zhangsan", "lisi"];
        Array.prototype.setName = setName;
        arr2.setName("人員列表");
        document.write(arr2.name);     //人員列表

2.     方法

2.1 數組的建立

         //建立一個數組
        var arr1 = new Array([size]); //size可選,不是上限,是長度
        arr1[0] = "zhangsan";   //給數組賦值
        arr1[2] = "lisi";
 
        //建立一個數組並賦值
        var arr2 = ["zhangsan", "lisi"];      
        var arr3 = new Array("zhangsan", "lisi");

  要說明的是,全部狀況下數組都是會變的,也就是說即便指定了長度,仍然能夠將元素存儲在規定長度之外的。排序

2.2 數組的元素的訪問

var testGetArrValue=arrayObj[1]; //獲取數組的元素值
arrayObj[1]= "這是新值"; //給數組元素賦予新的值

2.3 數組元素的添加

arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 將一個或多個新元素添加到數組結尾,並返回數組新長度
arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// 將一個或多個新元素添加到數組開始,數組中的元素自動後移,返回數組新長度
arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//將一個或多個新元素插入到數組的指定位置,插入位置的元素自動後移,返回""。

 

  【注】多個元素之間用逗號割開:

arr2.push("wangwu", "zhaoliu");   //["wangwu", "zhaoliu"],這樣則是將數組做爲arr2一個元素添加

2.4  數組元素的刪除

arrayObj.pop(); //移除最後一個元素並返回該元素值
arrayObj.shift(); //移除最前一個元素並返回該元素值,數組中元素自動前移
arrayObj.splice(deletePos,deleteCount); //刪除從指定位置deletePos開始的指定數量deleteCount的元素,數組形式返回所移除的元素

 

2.5 數組的截取和合並

arrayObj.slice(start, [end]); //以數組的形式返回數組的一部分,注意不包括 end 對應的元素,
                  //若是省略 end 將複製 start 以後的全部元素,使用方式與stringObject.slice(start[,end])類似。
arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //將多個數組(也能夠是字符串,或者是數組和字符串的混合)鏈接爲一個數組,返回鏈接好的新的數組。

2.6 數組的拷貝

arrayObj.slice(0); //返回數組的拷貝數組,注意是一個新的數組,不是指向
arrayObj.concat(); //返回數組的拷貝數組,注意是一個新的數組,不是指向

2.7 數組元素的排序

arrayObj.reverse(); //反轉元素(最前的排到最後、最後的排到最前),返回數組地址
arrayObj.sort([sortby]); //對數組元素排序,返回數組地址,默認按字符編號順序進行排序。Sortby必須是函數,或者lambda表達式,如(a,b)=>a-b表示按數值大小升序排序。

2.8 數組元素的字符串化

arrayObj.join(separator); //返回字符串,這個字符串將數組的每個元素值鏈接在一塊兒,中間用 separator 隔開。

  toLocaleString 、toString 、valueOf:能夠看做是join的特殊用法,不經常使用

 

參考資料:

js中數組方法集合

相關文章
相關標籤/搜索