稀疏Javascript 陣列
Javascript 陣列的獨特之處在於它們是稀疏的,這意味著並非第一個元素和最後一個元素之間的所有元素都一定是分配。這與許多其他程式語言中的陣列不同,數組通常是連續的記憶體區塊。
雜湊表實作
在內部,Javascript 陣列被實作為雜湊表。這意味著鍵可以是任何資料類型,而不僅僅是整數。當存取或指派元素時,使用 toString() 方法將其鍵轉換為字串。隨後,使用字串鍵在雜湊表中儲存或檢索元素的實際值。
稀疏數組示範
Javascript陣列的稀疏性質可以是使用以下程式碼來示範:
var array = []; array[0] = "zero"; array[new Date().getTime()] = "now"; array[3.14] = "pi"; for (var i in array) { alert("array[" + i + "] = " + array[i] + ", typeof(" + i + ") == " + typeof(i)); }
輸出:
array[0] = zero, typeof(0) == string array[1254503972355] = now, typeof(1254503972355) == string array[3.14] = pi, typeof(3.14) == string
請注意,陣列現在包含三個元素,鍵為「0」、「1254503972355」和「3.14」。這些鍵表示已轉換為字串的陣列元素的索引。
稀疏數組的含義
Javascript 數組的稀疏性質有幾個含義:
以上是為什麼 JavaScript 陣列是稀疏的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!