Для хранения данных в локальном хранилище очень важно помнить, что вы можете хранить только строковые значения.При хранении объектов или массивов (или массивов объектов) вы должны сначала преобразовать данные в JSON.
Это просто:
localStorage.setItem("record", JSON.stringify(data));
И снова прочитать значение:
var record = JSON.parse(localStorage.getItem("record"));
Если вы этого не сделаете, Javascript попытается упорядочить сами данные, используя метод toString()
.Для объектов это означает, что будет сохранено значение [object Object]
, а не фактическое содержимое объекта.
Также оказывается, что вы путаете объекты и массивы Javascript.
Это объект:
{
firstName: "John"
ID: "10"
}
И это массив:
[10, 20, 30, 40, 50]
Обратите внимание на использование '{' и '}' при определении объекта и использование '[' и ']' приопределение массива.Также обратите внимание, что мы можем иметь именованное свойство в объекте, которого у нас нет в массиве.
Массив объектов будет выглядеть следующим образом:
[
{
firstName: "John"
ID: "10"
},
{
firstName: "Mary"
ID: "20"
}
]