簡體   English   中英

帶索引和鍵的動作腳本數組

[英]actionscript array with index and key

創建同時具有索引和鍵的數組的最佳方法是什么?

我的意思是這樣的

index     | key           | value
0         | "myItem"      | "Some value"
1         | "anotherItem" | "Some other value"
2         | "blabla"      | "Bla Bla"

我知道我可以創建一個普通的數組/向量,然后使用一個對象/字典將鍵映射到當前數組中的索引。

但是,如果數組發生更改,那么字典就需要更改所有受影響的索引,因為例如,某個項目已被刪除。 我可以繼續創建一個類,嘗試將映射與數組等進行同步。。。但是我不認為這是最好的方法... :)

我想用它來創建一個列表...例如,其中包含排隊的項目。 您應該可以通過其鍵來獲取特定項目:

item = list["myItem"]

但是,您還應該能夠找到項目的索引,它們必須是ordened的,並且應該有可能像普通數組一樣遍歷它。

在as3中執行此類操作的最佳方法是什么?

您說您不想對鍵進行反向索引,所以除了具有在數組中進行線性搜索並找到具有ID的項的函數外,我看不到如何實現目標。

假設您的商品{value:"someValue, id="myItem"}值,又有ID: {value:"someValue, id="myItem"}

無論如何,線性搜索並不是一個壞主意,除非您的隊列中有很多項目並經常通過id檢索它們(特別是在緊密循環中)。

現在,如果您想一路走,您可以通過擴展Proxy類來擴展Array功能,以使索引/ id訪問透明(也就是說,您的代碼將獲得具有queue[0]queue['myItem'] ) 。 如果您有反向索引,或者仍然可以通過線性搜索對其進行動態查找,則仍然必須在內部同步各項。

請查看此答案以獲取有關如何執行此操作的指針: 將AS3的Array訪問運算符擴展為“包裝”越界索引值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM