Something like a Map<String, Object> I can use to store data in jquery?
I have some JSON objects I'd like to store in a map for the lifetime of my app. For example, my app shows a listing of Farms. When a user clicks one of the Farm links, I download a Farm representation as JSON:
Farm 1
Farm 2
...
Farm N
every time the user clicks one of those links, I download the entire Farm object. Instead, I'd like to somehow make a global map of Farms, keyed by their ID. Then when the user clicks one of开发者_运维技巧 the above links, I can see if it's already in my map cache and just skip going to the server.
Is there some general map type like this that I could use in jquery?
Thanks
What about a JavaScript object?
var map = {};
map["ID1"] = Farm1;
map["ID2"] = Farm2;
...
Basically you only have two data structure in JavaScript: Arrays and objects.
And fortunately objects are so powerful, that you can use them as maps / dictionaries / hash table / associative arrays / however you want to call it.
You can easily test if an ID is already contained by:
if(map["ID3"]) // which will return undefined and hence evaluate to false
The object type is the closest you'll get to a map/dictionary.
var map={};
map.farm1id=new Farm(); //etc
farmMap = {};
farmMap['Farm1'] = Farm1;
...
精彩评论