我想我的關聯數組索引Point
(或,一般來說,Object
)具有語義相等。不幸的是如何在由Point索引的actionscript中創建關聯數組?
var p:Point = new Point(1, 1);
var q:Point = new Point(1, 1);
var dict:Dictionary = new Dictionary();
dict[p] = 5;
trace(dict[p]); // => 5
trace(dict[q]); // => undefined
因爲
trace(p===q); // => false
有沒有辦法告訴Dictionary
如何訂購它的鑰匙,還是有不同的類中使用了這種類型的事情?
我還沒有試過這個,這只是一個預感,但你肯定*這個工程?我懷疑它可能會在p上進行字符串轉換,然後將其用作索引,因此所有點都會發生碰撞。 – grapefrukt 2009-09-02 17:29:26
我相信Object的鍵只是字符串,所以你用作鍵的任何非String對象都會被轉換爲一個字符串。 Object的toString()方法返回相同的內容,不管它的內容如何,所以這很可能不起作用。 – Herms 2009-09-02 18:21:37
它似乎。請參閱編輯 – 2009-09-02 23:01:38