Javascript删除稀疏数组上的项目并调整长度错误

标签 javascript arrays

我有一个稀疏数组。 我使用delete array[id],我还想在删除后调整数组的长度。这是伪代码。

....
deleted =0; 
...
if (condition) { delete array[id]; deleted++;}
...
array.length-=deleted;

好的。我不知道会发生什么,数组具有预期的长度,但是......它是空的! 知道发生了什么吗?

最佳答案

从稀疏数组中删除元素的正确方法是:

arr.forEach(elm,index){

//delete index element
delete arr[index]

}

这会删除元素,但数组大小保持不变

关于Javascript删除稀疏数组上的项目并调整长度错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32519842/

相关文章:

Java - 找到匹配时数组比较不会终止?

javascript - 使用 ng-repeat 传播包含另一个 ng-repeat 列表的列表

javascript - 人类可读的递归函数的秒数

arrays - couchdb 映射/减少按日期过滤的多个键

arrays - 如何在 flutter 中解析json?

python - NumPy 数组中的矢量化字符串处理

javascript - 无法更改 HTML 和 JavaScript 中的按钮文本

javascript - 使用axios时如何停止javascript中的无限循环?

javascript - 动态生成 JavaScript 对象的创造性方法

php - array_map 显示 mysql_real_escape_string() 需要参数 1