JavaScript 保存数组到 Cookie 主要涉及两个步骤:将数组转换为字符串形式并保存到 Cookie 中,以及从 Cookie 中获取数组并转换为 JavaScript 中的数组对象。以下是完整攻略:
将数组保存到 Cookie 中
1.首先需要将数组转换成字符串形式,可以使用 JSON 对象中的方法 JSON.stringify()
来实现。例如:
const myArray = [1, 2, 3, 4];
const myArrayStr = JSON.stringify(myArray);
2.使用 document.cookie
将字符串形式的数组保存到 Cookie 中,需要指定 Cookie 的名称,以及过期时间和路径等可选参数。例如:
document.cookie = "myArray=" + myArrayStr + "; expires=Thu, 01 Jan 2030 00:00:00 UTC; path=/";
注意,该方法只能保存小于4KB的数据,因此不适合保存大型数组。
从 Cookie 中获取数组对象
1.使用 document.cookie
获取保存在 Cookie 中的字符串形式的数组。例如:
const cookieArrayStr = document.cookie.replace(/(?:(?:^|.*;\s*)myArray\s*\=\s*([^;]*).*$)|^.*$/, "$1");
2.将上一步获取到的字符串形式的数组转换成 JavaScript 中的数组对象,可以使用 JSON 对象中的方法 JSON.parse()
来实现。例如:
const cookieArray = JSON.parse(cookieArrayStr);
以下是完整的代码示例:
示例一
const myArray = [1, 2, 3, 4];
const myArrayStr = JSON.stringify(myArray);
document.cookie = "myArray=" + myArrayStr + "; expires=Thu, 01 Jan 2030 00:00:00 UTC; path=/";
const cookieArrayStr = document.cookie.replace(/(?:(?:^|.*;\s*)myArray\s*\=\s*([^;]*).*$)|^.*$/, "$1");
const cookieArray = JSON.parse(cookieArrayStr);
console.log(cookieArray); // [1, 2, 3, 4]
示例二
const myArray = ["apple", "banana", "orange"];
const myArrayStr = JSON.stringify(myArray);
document.cookie = "myArray=" + myArrayStr + "; expires=Thu, 01 Jan 2030 00:00:00 UTC; path=/";
const cookieArrayStr = document.cookie.replace(/(?:(?:^|.*;\s*)myArray\s*\=\s*([^;]*).*$)|^.*$/, "$1");
const cookieArray = JSON.parse(cookieArrayStr);
console.log(cookieArray); // ["apple", "banana", "orange"]
这两个示例分别展示了如何保存数字形式和字符串形式的数组到 Cookie 中,并且成功获取到了从 Cookie 中保存的数组对象。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript 保存数组到Cookie的代码 - Python技术站