试试 JSON:JavaScript 对象表示法。幸运的是,您也可以使用它来标记数组。
我不知道您是否要存储“保存”之类的数据 - 这样如果用户离开页面,他可以从他离开的地方继续 - 或者您是否要将数据存储为地图的内部表示。
“保存”:
您可以为此使用 sessionStorage,但我相信这是 HTML5 功能(不确定)。无论如何,这里是它的 caniuse 页面:http ://caniuse.com/#search=sessionStorage 。
例子:
window.sessionStorage.setItem("map", "{'-1': {0:b, 2:a, 5:a}, '2': {0:a, 2:b, 5:a}, '10':{0:c, 2:a, 5:b}}");
然后稍后使用以下命令检索它:
var map = window.sessionStorage.getItem("map");
map = JSON.parse(map);
map[-1][0]; // Should be 'b'
缺点是您只能将字符串存储在 sessionStorage 中,但看看我是如何使用JSON.parse()
. 如果要对对象进行字符串化,可以使用JSON.stringify()
.
内部表示:
yabol 在这方面打败了我,但我打算提出同样的建议:
var map = {'-1': {0:b, 2:a, 5:a}, '2': {0:a, 2:b, 5:a}, '10':{0:c, 2:a, 5:b}};
这次不是字符串。它会被 JS 编译器解析为一个对象(也许你已经知道了)。