
在大多数情况下,我们使用 数组 当我们与工作 JavaScript 或与任何其他语言, 因为我们让 最佳 操纵和分组的某些相似特征的数据集.
其中所有的可能 操作 我可以做 数组, 其中最 常见 是的 删除 o 排空, 这将使我们将转换中的数组 空数组.
如何为空,或者删除一个数组,在 Javascript 和启示
开展 排空 或从已删除 数组 我们可以使用的 两种实现方式 o 解决方案, 我们会看到的下面. 假设 我们有一个数组变量中 MyArray 使用以下内容:
1 | var miArray = [1, 2, 3, 4, 5]; |
我们可以执行 排空 数组使用 工作分配 的一 空数组 给变量问题:
1 | miArray = []; |
所以该变量 MyArray 现在将 指向 到 空数组. 即, 它不是以前的空数组, 但是,该变量指向一个 新的内存位置. 要理解这一点, 假设 以下变量:
1 2 3 | var miArray = [1, 2, 3, 4, 5]; var miOtroArray = miArray; |
如果现在, 我们开展 删除的第一个数组 正如我们所见 以前:
1 2 3 4 5 | miArray = []; //Los valores de las variables anteriores son: //miArray = []; //miOtroArray = [1, 2, 3, 4 ,5]; |
该变量 miOtroArray 它将继续指向的内存位置,承载 数组 有 先前已指派 该变量 MyArray, 因为使用这一解决方案, 我们做的唯一事情是 分配 给变量 一个新的空数组,在另一个内存位置.
为 避免这种情况, 另一个 排水法 o 删除 的一 数组 在 JavaScript 是通过 属性 长度, 喜欢这个, 我们通过以下方式在清空我们第一个数组:
1 2 3 4 5 | miArray.length = 0; //No reasignamos a un nuevo valor, sino que reducimos la longitud del actual. //Los valores de las variables anteriores son: //miArray = []; //miOtroArray = []; |
以这种方式, 我们这样做 长度 我们 当前数组 是 零, 你也是 排空, 和变量如下 指向同一数组, 所以 其他可能的变量或指针, 他指出,相同, 他们将具有相同的值 这. 因此我们 我们避免任何问题 与 变量和指针 它可能会导致 重新映射 到一个新的数组,如 第一种情况.
另外, 最后一种方法, 是一种解决方案 最佳 至于 性能 因为真的 释放的内存 分配给数组. 如果我们使用 第一个解决方案, 此外为空的新数组分配内存, 我们不释放分配的内存 对以前的数组, 事件中的任何其他变量或指针指向它.
