Я устанавливаю значение localStorage в формате массива байтов, но когда я пытаюсь его получить, он извлекается как String?Каков возвращаемый тип localStorage?
Почему так?
Если да, то как мы можем его преобразовать?
Помощь приветствуется!
Я устанавливаю значение localStorage в формате массива байтов, но когда я пытаюсь его получить, он извлекается как String?Каков возвращаемый тип localStorage?
Почему так?
Если да, то как мы можем его преобразовать?
Помощь приветствуется!
Вот как он хранится: в String
.
Вы можете использовать JSON.parse(yourStoredValue)
Thanks..Let me check :) – Anand
Сохраненный массив 'localStorage.setItem ('array', [1,2,3,4,5,6])' извлеченный с помощью 'localStorage.array' выходит как' 1 , 2,3,4,5,6 ", что недействительно JSON. – evolutionxbox
, если у вас есть var a = JSON.parse ("[1,2,3]"), a будет массивом – Erik
Если вы хотите сохранить JSON объект - магазин это
localStorage.setItem(JSON.stringify({'a': [1, 2, 3]}));
И вы можете получить его как
JSON.parse(localStorage.getItem("field_name"));
и если вы хотите хранить чистые коды JavaScript и выполнять е позже просто сохранить его как String, и получить его как
eval(localStorage.getItem("field_name"));
Надеется, что это поможет.
Не использовал бы eval в этой ситуации проблемы с безопасностью? Что делать, если вы заменили localstorage на вредоносный код? – evolutionxbox
Я согласен с вами в том, что использование eval будет вредным, поскольку localStorage косвенно является пользователем. Я просто использовал его для лучшего понимания :), поскольку его вопрос был «тип localStorage return» –
Почему отрицательный? Пожалуйста, укажите причину, если нет ответа на вопрос – Anand
Что вы хотите после конвертации? –
'window.localStorage' - это объект. Все значения элементов хранятся в виде строк. Итак, ваш вопрос на самом деле: «Как преобразовать строку в массив?». – evolutionxbox