像reduce、filter、map这样的javascript数组函数会生成内存分配吗



也许答案很明显,但我没有找到任何与这个主题相关的答案。

当我们使用返回数组新实例的数组函数时,我们会在堆中分配内存吗?

我将试着用一个随机的例子来澄清我的问题。我有一个数字列表,我想过滤列表中最大的10个元素。

如果我必须不断地执行这个函数,我会生成很多数组实例,所以这可能会导致潜在的内存问题。只需创建10元素数组,然后读取列表并将值替换为简单的for but。。。真的有必要吗?

如果中间变量的作用域管理正确,垃圾收集将清除任何不必要的内容。这篇文章可能有助于:https://blog.logrocket.com/escape-memory-leaks-javascript/

最重要的是,所有数组函数在运行后都会清空它们的内存堆栈。

最新更新