这可能是一个非常快速的答案(或一个非常愚蠢的问题),但我正在尝试存储一个整数数组,以便随后可以通过另一个函数在本地访问它们。
到目前为止,我一直想到这样做(及其缺陷):
data-ids="1,2,3"
(无法轻松存储数组)localStorage
(只能存储字符串,而不是数组,必须转换)<input type="hidden">
(再次,无法存储数组,必须转换为字符串)理想情况下,我希望能够使用array.push(value)
等语法将值推送到本地存储的数组中。
是否有一种简单的方法可以做到这一点,我错过了或者我会采取行动?此数组的最终用法将与另一个整数数组进行比较,以查看是否有任何值匹配,如果匹配,则从第二个数组中删除索引(即它是一个数组过滤器)。
此阵列不应存储在服务器上,因为它对于客户端的每个用户都不同。如果没有好的方法可以做到这一点,我可能会考虑以不同的方式实现功能。
答案 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,其中加载较大页面上的子部分时保留全局变量