也就是说,如果我需要为单个数组插入多次调用此函数,我是否更适合使用某种树或跳跃列表数据结构?
最佳答案
您可能会考虑是否要使用对象来代替;所有 JavaScript 对象(包括 Array
实例)都是(高度优化的)具有可选原型(prototype)的键/值对集实现应该(注意我不是说“不") 具有合理的性能哈希算法。 (更新:那是在 2010 年。在 2018 年,对象在所有重要的 JavaScript 引擎上都得到了高度优化。)
除此之外,splice
的性能将在不同的实现(例如, vendor )之间很多变化。这就是为什么“不要过早优化”对于将在多个 vendor 实现(例如 Web 应用程序)中运行的 JavaScript 应用程序来说甚至比对于普通编程更合适的建议的原因之一。保持您的代码良好模块化,并在出现性能问题时解决它们。
关于Javascript: 'splice' 的算法性能如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4228081/