ECMAScript 6 Map &设置-安全在迭代期间删除
ECMAScript 6 Map & Set - Safe to delete during iteration?
如标题所示,遍历新的Set &在迭代过程中映射类型和删除条目?
例如,在Java中,这会导致concurrentmodificationexception。
我在规范中找不到任何关于这个问题的内容,所以我猜这是允许的??
引用MapIterator对象的next()
section,
让entries为m的[[MapData]]内部槽位值的List。
当index小于条目的元素总数时重复。
……
- 设置O的[[Map]]内部槽位为undefined
- <返回em> CreateIterResultObject (定义, 真正) 。返回em>
同样来自settiterator对象的next()
部分,
- 让entries为s的[[SetData]]内部槽位值的List。
当索引小于条目的元素总数时,重复- 。每次计算此方法时,必须重新确定元素的数量。
……
- 设置O的[[IteratedSet]]内部槽位为undefined。
- <返回em> CreateIterResultObject (定义, 真正) 。返回em>
由于每次调用next()
时都会重新计算值,如果当前指针(索引)大于条目的长度,则不会抛出错误,而是返回undefined
。
但是,一般来说,避免在迭代容器时修改容器
相关文章:
- 如果30秒未单击,请应用CSS一次,将其删除,然后重新迭代
- Javascript - 从对象迭代和删除
- 如何通过迭代对象数组来删除某些项目
- "搜索并销毁“;迭代不会'不要一次删除所有项目
- 使用for.of迭代时删除集合中的元素是否安全
- ES6:在设置/映射迭代期间从集合/映射中删除元素是否危险
- Javascript到Jquery的转换,每次迭代都会删除第一个孩子
- 在数组上迭代时删除对象
- 删除对象,使其不会't在for循环中迭代
- 在数据Javascript上迭代时删除对象中以前的项
- 如何迭代具有特定img alt属性的表行并删除javascript中的单元格
- jQuery迭代循环删除元素
- jQuery - 如何滚动浏览子类 addclass 然后在一次迭代中删除类 setTimout 不起作用
- 当试图从元素中删除类时,For循环只迭代一次
- 最快的方式通过数组多次迭代,同时删除项目
- ECMAScript 6 Map &设置-安全在迭代期间删除
- 在迭代时删除调用click事件的每个绑定
- 我如何通过对象的嵌套数组迭代和删除一些属性
- Javascript'删除'不会't在迭代循环中工作
- 为什么用javascript删除元素会阻止元素的迭代