我正在寻找一种方法来存储集合中的对象并通过UUID识别它们,然后查询集合以通过UUID获取对象。我能想到的最接近的例子是.NET中的Dictionary集合。在Dojo中是否有推荐的功能?
答案 0 :(得分:2)
dojo中没有等效的东西,即使dojo/store/Memory
模块不适用于此目的,您也可以在某种程度上将其用作集合,请查看:
require(["dojo/store/Memory"], function(Memory){
var someData = [
{id:1, name:"One"},
{id:2, name:"Two"}
];
store = new Memory({
idProperty: "id", //define the id property
data: someData
});
// Returns the object with an id of 1
store.get(1);
// Returns query results from the array that match the given query
store.query({name:"One"});
// Pass a function to do more complex querying
store.query(function(object){
return object.id > 1;
});
// Returns query results and sort by id
store.query({name:"One"}, {sort: [{attribute: "id"}]});
// store the object with the given identity
store.put({id:3, name:"Three"});
// delete the object
store.remove(3);
});
道场有其他类型的store
,可能比dojo/store/Memory
更适合您的情况。以下是文档的一些链接:
dojo/store/Memory
dojo/store/JsonRest
dojo/store/DataStore
dojo/store/Cache
存在其他人,但这是必须的公地
答案 1 :(得分:0)
JavaScript中没有此类对象具有Collection。但你可以创建自己的对象,如下所示
var coll = { uid : "value" };
coll['uid2'] = "value2;
可以使用
访问var a = coll['uid'];
这是JavaScript之美。