【发布时间】:2019-12-03 04:13:28
【问题描述】:
我们正在学习计算机科学中的数组以及它们如何占用连续范围的内存空间。
在纯数组中,您不能在不移动其他元素的情况下添加和删除元素。
所以当我这样做时:
const arr = ['a', 'b', 'd'];
arr.splice(2, 0, 'c'); // arr is now ['a', 'b', 'c', 'd']
我没有执行数组操作,数组必须在 JavaScript 中以其他方式实现?
也许是一个链表?
我不是要求规范,只是在浏览器或 Node 中的语言的典型实现中,它们可能使用什么?
此10 year old+ Q/A 涉及主题但未回答,请勿标记为重复。
实际的底层表示可能因浏览器(或 它可能不会)。
最可能使用的底层数据结构是什么?
【问题讨论】:
-
澄清一下——您想知道 JavaScript 从浏览器的角度存储数组的方式吗?如果我错了或离题,请澄清:)
-
将 Q 更新为
the browser or Node... -
据我了解...... JavaScript 无法真正“了解”数组的“实时”结构。它基于运行时环境做出假设,但它永远无法真正“知道”数组对象的确切结构。这只是我的理解,这就是为什么我要发表评论而不是答案;)
标签: javascript arrays