javascript - JavaScript 中的删除运算符如何工作?

标签 javascript arrays hashmap delete-operator

问题是我想知道删除运算符如何从数组中删除值。 它会循环整个数组吗? 从数组中删除项目并注意时间复杂度的最佳方法是什么。

感谢您的回答。

最佳答案

delete 运算符仅删除数组元素中的所有属性。因为查找元素需要 O(1),删除属性需要 O(1),所以整个过程需要 O(1)。请注意,删除不会更改数组的 length 属性,也不会更改数组中其他元素的索引。所以行为如下:

const arr = [0,1,2,3,4,5]
delete arr[2]
console.log(arr[2]) // undefined

因此,就时间复杂度而言,delete 可能是最好的方法,因为利用 splice 或类似函数的方法需要 O(n)。但它们更安全。

关于javascript - JavaScript 中的删除运算符如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65727292/

相关文章:

javascript - 插件中的 JavaScript 队列未在页面源上注册

javascript - D3-如何在多线图上画点? (遍历数组)

java - 如何遍历字符串数组中的所有字符

java - 从 ArrayList 问题中删除重复项

javascript - 在 Canvas 上制作动画时淡出 Canvas 上传递的帧的最有效方法是什么?

javascript - Angular1.3 : Access functions from standard controllers, 在使用controllerAs的 View 内?

java - 交换两个数组中的值时出现无法解释的问题

java - 使用自定义类在 HashMap 上调用 containsKey

java - Hashmap方法求和

javascript - 使用 JavaScript 更改选择标签值