Javascript:在本地存储一个整数数组,以便在其他地方访问它们?

时间:2013-06-08 20:22:33

标签: javascript arrays json local-storage

这可能是一个非常快速的答案(或一个非常愚蠢的问题),但我正在尝试存储一个整数数组,以便随后可以通过另一个函数在本地访问它们。

到目前为止,我一直想到这样做(及其缺陷):

  • HTML5数据属性,即data-ids="1,2,3"(无法轻松存储数组)
  • HTML5 localStorage(只能存储字符串,而不是数组,必须转换)
  • 隐藏的输入,即<input type="hidden">(再次,无法存储数组,必须转换为字符串)

理想情况下,我希望能够使用array.push(value)等语法将值推送到本地存储的数组中。

是否有一种简单的方法可以做到这一点,我错过了或者我会采取行动?此数组的最终用法将与另一个整数数组进行比较,以查看是否有任何值匹配,如果匹配,则从第二个数组中删除索引(即它是一个数组过滤器)。

此阵列不应存储在服务器上,因为它对于客户端的每个用户都不同。如果没有好的方法可以做到这一点,我可能会考虑以不同的方式实现功能。

4 个答案:

答案 0 :(得分:5)

当然,您可以使用window.somevarname = [1,2,3]

或者,如果“其他地方”指的是完全不同的网页加载,那么最好的办法是将其运行JSON.stringify()并将其放入localStorage,然后JSON.parse()进行。

答案 1 :(得分:1)

只需在html head部分声明一个全局变量

<script type="text/javascript">
var MyGlobalVariable = [1,2,3];
// or window.MyGlobalVariable = [1,2,3];
</script>

现在您可以在整个页面中访问它。

答案 2 :(得分:0)

在全局范围内创建一个javascript变量(或者需要数组),你可以通过它的名称访问它。

答案 3 :(得分:0)

将数据存储在全局java脚本变量中是完全没问题的,但决定因素是如何在页面之间导航。如果您计划进行完整页面刷新,则Javascript通常不是存储状态的好选择。但是,它适用于Ajax UI,其中加载较大页面上的子部分时保留全局变量