我需要一个数据结构来存储多个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