在 JS 中取得陣列長度非常簡單,每個陣列都有一個 length 屬性,該屬性傳回陣列的最大長度,即其值等於最大下標值加 1。由於數字下標必須小於 2^32-1,所以 length 屬性最大值等於 2^32-1。
範例1
下方程式碼定義了一個空數組,然後為下標等於 100 的元素賦值,則 length 屬性傳回 101。因此,length 屬性不能體現陣列元素的實際個數。
var a = []; //声明空数组 a[100] = 2; console.log(a.length); //返回101
length 屬性可讀可寫,是一個動態屬性。 length 屬性值也會隨陣列元素的變化而自動更新。同時,如果重設 length 屬性值,也會影響陣列的元素,具體說明如下:如果 length 屬性設定了一個比目前 length 值小的值,則陣列會被截斷,新長度以外的元素值都會遺失。如果 length 屬性被設定了一個比目前 length 值大的值,那麼空數組就會被加到陣列結尾,使得陣列成長到新指定的長度,讀取值都為 undefined。
範例2
下面程式碼示範了 length 屬性值動態變化對陣列的影響。
var a = [1,2,3]; //声明数组直接量 a.length = 5; //增长数组长度 console.log(a[4]); //返回undefined,说明该元素还没有被赋值 a.length = 2; //缩短数组长度 console.log(a[2]); //返回undefined,说明该元素的值已经丢失
以上是js取得數組長度的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!