Добавить проверку, существует ли «article» в localStorage и является ли он массивом.
Если его еще нет. Инициализировал значение для него ("[]");
Вам нужно сначала проанализировать строку JSON, прежде чем помещать элемент в массив. Затем снова зашифруйте его, прежде чем обновлять localStorage.
Пожалуйста, смотрите код ниже.
function test() {
let myArray = localStorage.getItem("articles");
//Check if localStorage has 'articles' and if that 'articles' is an array
if (myArray && Array.isArray(JSON.parse(myArray))) {
const needle = 2,
myArray = JSON.parse(myArray).push(needle);
localStorage.setItem("articles", JSON.stringify(myArray))
console.log(localStorage.getItem("articles"));
} else {
//Initialized 'articles' in localStorage.
localStorage.setItem("articles", "[]");
}
}