2011-11-03 270 views
2

如何在字典上執行以下操作(前提是我的所有值都是唯一的和未排序的)。通過值獲取鍵,在字典中

key : value 
152 : 780 
87 : 688 
2165 : 15 
  • 我想所有的密鑰。
  • 我想查找關鍵值688
  • 我想獲取所有值。

優選地,沒有循環並且不必在外部對象中維持鍵 - 值關係。

我有時會錯過,python的這些東西。

+1

我認爲這是你想要的,以前在這個線程中回答: http://stackoverflow.com/questions/2386793/efficient-looping-through-as3-dictionary –

回答

2

如果鍵是整數值,Array可能會有所幫助。它是一個稀疏陣列;所以爲和每個將只處理已被分配一個值的鍵(雖然我不知道內存使用情況)。

所以:

var list: Array = []; 
list[1] = 10; 
list[4] = 40; 

for each(var value: int in list) trace(value); 
// outputs (order can be different) 
// 10 
// 40 

// index has to be * or String; the compiler gives an error if it is not 
for(var index: * in list) trace(index); 
// outputs (order can be different) 
// 1 
// 4 

有一個方法的indexOf來獲取的值的鍵;沒有簡單的功能來獲得所有的密鑰。

0

如果沒有迭代你的字典的代價,你無法做任何事情。所以維護另一個對象似乎是你需要做的。