Я пытаюсь использовать localStorage для сохранения массива строк. У меня есть функция addToFav(string)
, которая предназначена для загрузки строкового значения в массив, содержащий имена программ, или pNames в моем случае. Я пытаюсь следовать этой схеме: Как мне сохранить массив в localStorage?
localStorage.arrayNum = 0;
var pNames=[];
function addToFav(string)
{
pNames[localStorage.arrayNum] = string;
if (localStorage.arrayNum)
{
localStorage.arrayNum=Number(localStorage.arrayNum)+1;
}
else
{
localStorage.arrayNum=1;
}
localStorage['pNames']=JSON.stringify(pNames);
var storedNames=JSON.parse(localStorage['pNames']);
document.getElementById("testField").innerHTML=storedNames;
}
Когда я нажимаю кнопку, которая вызывает addToFav(string)
, строка, которую я передал в функцию, отображается в div тестового поля, что в порядке. Тем не менее, повторный запуск функции должен добавить еще один элемент в массив, но это не так, он просто многократно добавляет pNames [0], потому что я думаю, что pNames
и arrayNum
переименовываются каждый раз. С этим кто-нибудь знает, как предотвратить эту проблему? Я хотел бы создать массив, который добавляет избранные элементы, когда пользователь вызывает мою функцию.
Спасибо!