【发布时间】:2017-12-30 13:57:57
【问题描述】:
我有一个数组,它有一个元素,我用以下代码删除它:
delete array[0]
此时数组为空。因此,我很困惑为什么array.length 的输出为1。
当我使用console.log 时,它会显示以下内容:
我是在做一些根本错误的事情还是如何检查数组是否为空?也许对打字稿数组内存管理的解释会很有用。
【问题讨论】:
-
阅读Description for
deleteoperator,其内容为... the delete operator has nothing to do with directly freeing memory。因此,在您的情况下,它删除了值,但没有删除数组使用的内存。 -
@jonrsharpe 我已经解释了为什么这不是问题中的重复项
-
从表面上看也没有任何意义,因为 "TypeScript 数组内存管理" 不是一个东西。 TS编译成JS,记住;运行时没有 TypeScript。
-
虽然我同意您的问题不是完全重复的,但链接的问题和答案确实提供了一些有趣的见解,感觉他们也回答了您的问题。我试图制定更具体的内容,如果我没有正确理解您的需求,请随时发表评论。
标签: javascript arrays typescript