我有一个阵列充满了像这样推动的纬度和经度对
doneDotsA.push(lat+"|"+lon);
值可能看起来像51.5或-0.11666666666666667等
然后数组作为数组存储在cookie中。
当我尝试读取cookie内容时,在In检查它时看起来像这样
alert('doneDotsA='+doneDotsA.toString());
产生如下结果:
doneDotsA = 51.5 | -0.11666666666666667
到目前为止一切顺利。但是,当我尝试提取像这样的值时for (var t = 0; t < doneDotsA.length; t++) {
alert('val='+doneDotsA[t]);
}
警报显示&#39; val = 5&#39;然后&#39; val = 1&#39;然后&#39; val =。&#39;然后&#39; val = 5&#39;以某种方式一次只读一个字符而不是返回完整的数字,因为我希望它能做到。
将数组保存到cookie中对数字执行某些操作吗?
任何想法?
答案 0 :(得分:1)
作为数组存储在cookie中
Cookie是always stored and retrieved as a string,除非您在事后使用自定义代码将其重建为数组。
答案 1 :(得分:0)
这样的解决方案可以是获取您的经度和经度并将它们放入JSON对象中以便在cookie中进行序列化和存储。然后,您可以在网站加载时将它们解析为对象。
var coords = {
points:[
{lat:12.4444446,lon:44.55555},
{lat:12.4444446,lon:44.55555}
]
};
var serialized = JSON.stringify(coords);
toStore(serialized);
然后您可以将其设置为本地存储或任何可以存储字符串的位置。
var myLoaded = fromStore();
var coords = JSON.parse(myLoaded);
coords.points.each(function(coord) {
// do something with points.
});
然后你应该能够对你保存的积分做点什么。
一个注意事项:您可能想要检查myLoaded不是空字符串或try / catch块中的包解析。形成不良的结构会引发异常。