是否可以清除Flex flash.utils.Dictionary
?我有一個Dictionary
,我想清除(刪除所有元素)。清除Flex動作腳本字典
回答
我不相信有明確的明確命令。
然而,你可以寫你自己會遍歷所有的按鍵和運行這個
delete dict[key];
或者你也可以重新分配
dict = new Dictionary()
我認爲這會工作,但我我不是100%肯定的,因爲你在修改詞典的同時迭代它:
function clear(d:Dictionary):void {
for(var id:* in d) {
delete d[id];
}
}
但是,我通常只是在需要清除一個字典時創建一個新的字典(儘管如果它在多個地方被引用,那麼這可能對您不適用)。
+1作品。通過兩次運行測試它,第一次運行後它是空的。 – 2011-04-03 01:05:33
上面的代碼有一個缺陷:'id'必須是NO類型,因爲Dictionary可以保存任何類型的對象作爲鍵引用,而不僅僅是像動態對象那樣的字符串。上面的代碼只會刪除字符串引用! – 2012-03-09 17:58:16
我編輯瞭解決問題的答案。 id現在是無類型的(*),所以它可以採用任何類型並清除所有可能的密鑰。當它被鍵入爲一個字符串時,id只會清除字符串鍵;此外,不會拋出任何錯誤,並且對於非字符串鍵,id不爲空,它們在迭代期間被簡單地跳過。所以id必須是無類型的,以遍歷所有可能的鍵。 – Triynko 2014-01-15 19:23:42
您不僅需要確保密鑰是對象類型,還是需要先獲取密鑰然後從字典中刪除它們。否則,你會在字典中留下一個關鍵字(最後一個)。
我記得上面的代碼在工作之前,但最近已經改變了最後一次flash player的迭代。
此代碼將確保它們全部被刪除,包括最後一個。
//Clean up the dictionary
var keys:Array = [];
var key:*;
for (var key:* in dictionary)
keys.push(key);
for each (var key:* in keys)
delete dictionary[ key ];
要刪除所有元素的詞典,循環遍歷每個鍵,使用delete關鍵字
function clear(dict:Dictionary):void
{
for(var key:Object in dict)
{
delete dict[key];
}
}
如果你想成爲100%確保您的刪除鍵被垃圾回收,您必須將您的Dictionary實例替換爲新的Dictionary。
dict = new Dictionary();
我曾經有一個Dictionary對象,有300萬字符串作爲鍵。這些字符串只會在Dictionary實例本身時被垃圾回收。
剛:
dictionary = new Dictionary()
public static function clear(dict:Dictionary):void {
var key:*
for(key in dict) {
delete dict[key];
}
}
使用上述功能的效用函數,你可以用它在你的代碼庫。
- 1. C#字典清除()清除辭典字典
- 2. Flex和動作腳本
- 3. 清除詞典的字典
- 4. 清理腳本初始化。字典
- 5. flex android動作腳本本機擴展
- 6. flex動作腳本文本字段丟失ctrl + v粘貼?
- 7. Flex-動作腳本編程語言
- 8. Flex動作腳本 - ArrayList問題
- 9. Flex Flash動作腳本表單事件
- 10. 在Flex中3 /動作腳本3
- 11. Flex動作腳本超時問題
- 12. Draggin刪除AVM1(動作腳本1/2)不工作在AVM2(動作腳本3/Flex)
- 13. Flex字典文字
- 14. 腳本塊作爲字典的值?
- 15. 動作腳本項目:動作腳本項目教程使用flex sdk
- 16. 帶有清除按鈕的動作腳本繪圖
- 17. UI自動清除帶有「清除按鈕」的文本字段
- 18. 獲取動作腳本字典中的鍵
- 19. Flex字典:訂單
- 20. flex字典錯誤?
- 21. Flex字典排序
- 22. 使用動作腳本清理未知字符的xml鳴叫
- 23. 在Python中更新和清除字典
- 24. WPF - 只清除某些資源字典
- 25. 腳本字典功能
- 26. VBA腳本來清除已刪除的文件夾不工作
- 27. 在Flex中清除DateField 3
- 28. 清除/清空Flex中的lineChart
- 29. C#基本字典排序只需要清除錯誤
- 30. 如何在Flex動作腳本中確認文本輸入
我的目標是重複使用'Dictionary'而不是創建一個新的。 – 2013-03-07 20:40:16