【发布时间】:2014-09-05 07:53:18
【问题描述】:
我希望我的问题不是那么愚蠢。但我想知道数组在 javascript 中是如何工作的。特别是按索引获取元素。
假设我有一个名为 myFirstArray 的数组,其中包含元素 [1,2,3,4]。 当我键入 myFirstArray[3] 时,如何从该数组中获取第四个元素? 它会循环吗?所以每次我想要数组的最后一个元素时,它都会遍历整个数组?
向数组添加元素也是如此。它是否总是循环遍历数组并找到数组中的最后一个元素?
我问是因为我在 Javascript 中实现了一个linkedList,我想知道它是否比普通数组更有效。
【问题讨论】:
-
数组实现可能是“超级优化”(但也依赖于浏览器),我认为它无法击败它。
-
编写测试并测量它:)
-
但链表已针对我的需要进行了超级优化。我想从数组中获取一个元素并将位置保存在一个变量中。该列表中的下一个元素应该是以下元素。所以我必须写 myFirstArray[savedPosition+1]。我想知道它是否从一开始就循环到 savedPosition+1。使用linkedList,指针指向最后一个元素,当我执行 myLinkedList.next() 时,它只会跳转到下一个元素。
-
是的,我可以测试它。但尽管如此,我想知道数组实际上是如何工作的。 :)
-
部分浏览器已经开源代码,欢迎学习,他们是如何实现数组的。
标签: javascript arrays linked-list