我们将学习计算机科学中的数组以及它们如何占据连续范围的内存空间。
在纯数组中,您不能在不移动其他元素的情况下添加和删除元素。
所以当我这样做的时候:
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/