JS数组如何存放到Cookie中?

我们在学习js的cookie时,通常会测试将各种数据放到cookie中,数组就是其中一种。

值得一提的是,cookie中的各种数据都是以字符串的形式存储的,也就是说我们的数组存进cookie以后会变成字符串

下面我们来看一下实例:

代码:

<script>
	var arr = [1,2,3];
	document.cookie = "arr="+escape(arr)+";";
	function getContent(name){
		var offset = document.cookie.indexOf(name);
		if(offset != -1){
			offset += name.length+1;
			end = document.cookie.indexOf(";",offset);
			if(end == -1){
				end = document.cookie.length;
			}
			content = unescape(document.cookie.substring(offset,end));
			return content;
		}
		else{
			return "";
		}
	}
	var arr1 = getContent("arr");
	for(var x of arr1)
		console.log(x);
	console.log("arr1.length:::"+arr1.length);
</script>

效果: 

 

 这证明我们取出来的东西也包括",",解决办法:

我们使用split()函数将其重新转为数组

<script>
	var arr = [1,2,3];
	document.cookie = "arr="+escape(arr)+";";
	function getContent(name){
		var offset = document.cookie.indexOf(name);
		if(offset != -1){
			offset += name.length+1;
			end = document.cookie.indexOf(";",offset);
			if(end == -1){
				end = document.cookie.length;
			}
			content = unescape(document.cookie.substring(offset,end));
			return content;
		}
		else{
			return "";
		}
	}
	var arr1 = getContent("arr");
	for(var x of arr1.split(","))
		console.log(x);
	console.log("arr1.length:::"+arr1.length);
</script>

结果如下,问题解决。 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值