我想将 Javascript 数组存储为 Cookie

新手上路,请多包涵

是否可能,我有某种列表,我想将其存储在浏览器中,如果不可能,那么有效的方法是什么?

原文由 Oguz Bilgic 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 436
2 个回答

JSON 对其进行编码,有效地生成类似于 "{name:'myname',age:'myage'}" 的字符串,您将其放入 cookie 中,在需要时检索并解码回 JavaScript 数组/对象。

示例 - 将数组存储在 cookie 中:

 var arr = ['foo', 'bar', 'baz'];
var json_str = JSON.stringify(arr);
createCookie('mycookie', json_str);

稍后,以数组形式检索 cookie 的内容:

 var json_str = getCookie('mycookie');
var arr = JSON.parse(json_str);

注意: cookie 函数不是原生的,取自 如何从 cookie 中创建和读取值?

原文由 George Kagan 发布,翻译遵循 CC BY-SA 3.0 许可协议

一种快速方法是将 join() 您的数组使用适当的分隔符转换为单个字符串:

 var a = [1, 2, 3, 4];
a.join('|');  // Returns: "1|2|3|4"

然后简单地使用字符串 split() 方法从cookie字符串中取回数组。

原文由 Daniel Vassallo 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题