我需要一個數據結構來存儲多個JavaScript對象,並能夠使用字符串ID(get/set/delete operations)訪問它們。JavaScript數據結構:通過鍵值訪問的鍵/值
這裏是我需要存儲的物品的例子:
var Player = function(name) {
this.name = name;
this.x = 0;
this.y = 0;
this.toString = function() {
return 'player : ' + this.name + ' at ' + this.x + ', ' + this.y;
};
}
我想用來存儲玩家的數據結構,並能夠獲得/設置/他們的名字刪除它們,就像players.get('Bob')
以Bob爲玩家的名字。起初,我以爲我可以使用名稱作爲鍵的地圖(我使用collectionsjs的Dict)。但後來我無法從該項目的方法中訪問該名稱(在我的示例中爲toString
)。
我可以使用常規數組,保留name屬性並實現自己的get/set/delete方法,但是我寧願使用可靠的數據結構,但找不到它。
在此先感謝:]
這聽起來好像骨幹完美的候選人:http://backbonejs.org/。另外,我認爲你應該重命名'toString'方法,因爲'toString'已經存在於JS對象中。 – 76484 2014-10-08 02:40:14
簡單的舊對象有什麼問題? – 2014-10-08 02:48:01
@ 76484:爲了允許自定義對象覆蓋它們,存在'toString'方法,以便當它被強制進入字符串上下文(例如''+ player')時,它會生成正確的字符串表示,而不是通用的'[Object object]'。這正是它在這裏使用的。 – slebetman 2014-10-08 04:34:29