作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是在 Dictionary
工作吗?清理所有关键引用?
public static function cleanDic(_dic:Dictionary):void
{
for (var eachKey:String in _dic)
{
delete _dic[eachKey];
}
}
for
期间删除了某个键循环将导致无法清除所有元素。
最佳答案
首先,我不喜欢这里给出的任何答案。现在解释一下:
for (key:Object in dictionary) delete dictionary[key];
Dictionary
有一个有趣的方面。它实际上实现为两个哈希表,一个包含字符串键,另一个是指针键(对象键)。不幸的是,这是由于糟糕的/粗心大意的设计,而不是故意的。它具有从 Object
继承的字符串哈希表和它自己的指针键之一。通常不想将字符串放入字典(或任何其他隐式强制为字符串的内容,如数字或逻辑值),因此,当您发现自己使用带有字典的字符串键时 - 再想一想,您可能想使用 Object
反而。 "1"
和 int 1
键——你只会得到其中一个。删除键时,在不同的播放器版本有不同的结果。在一些旧版本中,存在一个错误,即删除这些键然后序列化字典后,其中一个键仍然保留在其中。但是,再次,您应该避免使用字符串或数字作为键。关于actionscript-3 - 如何在 AS3 中清理字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12616524/
我是一名优秀的程序员,十分优秀!