javascript - JavaScript 中的数组是用什么数据结构实现的?

标签 javascript arrays

我们将学习计算机科学中的数组以及它们如何占据连续范围的内存空间。

在纯数组中,您不能在不移动其他元素的情况下添加和删除元素。

所以当我这样做的时候:

const arr = ['a', 'b', 'd'];

arr.splice(2, 0, 'c'); // arr is now ['a', 'b', 'c', 'd']

我不是在执行数组操作,数组必须以其他方式在 JavaScript 中实现吗?

也许是一个链表?

我不是要规范,只是在浏览器或 Node 中语言的典型实现中,他们可能使用什么?

10 year old+ Q/A涉及主题但未回答,因此请不要标记为重复。

The actual underlying representation may differ between browsers (or it may not).

最有可能使用的底层数据结构是什么?

最佳答案

数组不只是以一种方式实现的。这取决于您输入的内容、数字、其他数组或对象等。

然后 JavaScript 引擎在运行时决定如何实现它。

最常见的两种是 C++ 数组和链表。

参见 here获取更多信息。

关于javascript - JavaScript 中的数组是用什么数据结构实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57192549/

相关文章:

javascript - 订单不和谐 js 中的 react

javascript - JavaFX WebEngine 和 Pushbullet 身份验证

javascript - 从 SELECT 中的多个选择中获取值

iphone - 具有核心数据和大量业务逻辑的 Cocoa 应用程序布局

Python/Numpy : How do I renumber an existing array with repeating instances?

javascript - 如何存储和检索我创建的 JavaScript 变量?

javascript - Ember-data:加载一对一相关模型

javascript - 如何以 reCAPTCHA 形式重写链接文本? (本地化问题)

javascript - 清除 getElementById insideHTML 中的数据吗?

javascript - Jquery:获取数字数组中的最大值