稀疏 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中文网其他相关文章!