Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.08.2020, 12:53
him him вне форума
Аспирант
Отправить личное сообщение для him Посмотреть профиль Найти все сообщения от him
 
Регистрация: 19.08.2013
Сообщений: 93

Массив в cookie
Есть массив

var arr = new Map([
			['k1', '1'],	
			['k2', '0'],
			['k3', '1']
		]);


Как его можно разместить в куках, а потом достать. Массив может быть более 20 элементов. На просторах интернета есть некоторые решения, но пока получить рабочее не удалось.
Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 20.08.2020, 13:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

him,
https://javascript.ru/forum/events/3...tml#post512113
Ответить с цитированием
  #3 (permalink)  
Старый 20.08.2020, 13:57
him him вне форума
Аспирант
Отправить личное сообщение для him Посмотреть профиль Найти все сообщения от him
 
Регистрация: 19.08.2013
Сообщений: 93

Некоторые момента кода для меня сложны, но идею вроде как улавливаю, наверно.

Примерно так, один из вариантов, я и пытался сделать.

var arr = new Map([
			['k1', '1'],	
			['k2', '0'],
			['k3', '1']
		]);
console.log(arr);
$.cookie('name', JSON.stringify(arr));

var storedAry = JSON.parse($.cookie('name'));
console.log(storedAry);


В консоли

Map(3)
size: 3
<entries>
<prototype>: Object { … }


<prototype>: Object { … }


Как видно, корректно не распаковалось.
Ответить с цитированием
  #4 (permalink)  
Старый 20.08.2020, 14:18
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,692

JSON.stringify([...arr.entries()])
Ответить с цитированием
  #5 (permalink)  
Старый 20.08.2020, 14:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

him,
var arr = new Map([
			['k1', '1'],
			['k2', '0'],
			['k3', '1']
		]);
console.log(arr);
localStorage.name = JSON.stringify([...arr])
var storedAry = new Map(JSON.parse(localStorage.name || "[]"));
console.log(storedAry);
Ответить с цитированием
  #6 (permalink)  
Старый 20.08.2020, 17:33
him him вне форума
Аспирант
Отправить личное сообщение для him Посмотреть профиль Найти все сообщения от him
 
Регистрация: 19.08.2013
Сообщений: 93

Спасибо! Заработало!

А что означает синтаксис конструкции:
[...arr]
?

Последний раз редактировалось him, 20.08.2020 в 17:35.
Ответить с цитированием
  #7 (permalink)  
Старый 20.08.2020, 18:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

him,
https://learn.javascript.ru/destructuring-assignment
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление объекта в массив в цикле Dark19 Элементы интерфейса 3 11.12.2016 23:11
Чтение данных из файла в массив TheSingleElk Общие вопросы Javascript 2 16.06.2016 01:09
Неправильно работает кнопка Нияз Элементы интерфейса 23 07.04.2015 10:56
Cookie и массив на примере корзины kazrusm jQuery 1 30.09.2013 18:32
Как создать многомерный массив FRIE Общие вопросы Javascript 29 02.06.2010 19:14