Я хочу сохранить массив JavaScript как Cookie

Действительно ли это возможно, у меня есть своего рода список, и я хочу сохранить его на браузере, если не возможно, каков эффективный способ сделать это?

41
задан Brian Tompsett - 汤莱恩 15 November 2015 в 21:44
поделиться

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?

82
ответ дан 27 November 2019 в 00:15
поделиться

Один быстрый метод - объединить() ваш массив в одну строку, используя соответствующий разделитель:

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

Затем просто используйте метод string split() чтобы получить массив обратно из строки cookie.

31
ответ дан 27 November 2019 в 00:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: