【问题标题】:do the javascript array functions like reduce, filter, map generates memory allocations?像reduce、filter、map这样的javascript数组函数会生成内存分配吗?
【发布时间】:2022-10-07 18:06:31
【问题描述】:

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

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

我将尝试使用一个随机示例来澄清我的问题。 我有一个数字列表,我想过滤列表以包含最大的 10 个元素。

如果我必须不断地执行这个函数,我会生成很多数组实例,因此可能会导致潜在的内存问题。它可以通过创建 10 元素数组来修复,然后只需读取列表并用简单的 for 替换值,但是......真的有必要吗?

  • 你需要这个做什么?您是否在非常大的阵列上进行操作?
  • 为什么用typescriptperformance 标记?

标签: javascript arrays typescript performance memory


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    相关资源
    最近更新 更多