我需要一個數據結構,類似於一個對象,但對我來說,我需要的關鍵是對象本身:我需要一種方式來訂購的對象
tree = { { "a": 1, "t": "text }: 42 }
tree[ { 'b': true, 'c': 15 } ] = 'hello'
我可以很容易地模仿這一點,如果我在哪裏可以給兩個鍵/對象一個strikt weak order。但顯然{ "a": 1 } < { "a": 2 }
不會產生任何有用的東西。即使我提取鍵值對,並按鍵排序,我也必須找到一種方法來比較關鍵對象中的值。
我可以將鍵串化爲json字符串,但我不確定,如果有保證,當我這樣做時,結果總是相同的,這個解決方案看起來有點難看我。
有關如何實現這樣的數據結構(如果可能,簡單,高性能和優雅)的任何想法,提示或指針?
編輯:我需要這個發佈/訂閱庫。要訂閱的節點由對象命名。對於客戶端庫,我必須做一些記錄以獲得訂閱的狀態。
舉個例子,我怎麼能解決這陣:
[ { a: 1 }, { b: 2 }, { a: true, b: false, c: "hello" }, { d:'yes' } ]
JavaScript有數組和對象,這是它的數據結構。你能發表一個你爲什麼需要這個的真實例子嗎?您應該能夠以某種方式用JS表示您的結構,並使用有效的語法。 – elclanrs
@elclanrs是的,但你如何給兩個對象一個訂單? –
如果這就是你的意思,你會使用一個集合(一個對象數組)。 – elclanrs