gtomilin
@gtomilin
JavaScript HTML CSS

Почему массив определяется как строка?

Добрый день)

Имеется обработчик кнопки:

function buttonHandler(event) {
    const $el = event.target;
    const id = $el.dataset.id;
 
    if(id) {
        let favorites = JSON.parse(localStorage.getItem('favorites')) || [];
        console.log(favorites);
        
        if(favorites.includes(id)) {
            favorites = favorites.filter(fId => fId !== id)
        }
 
        else{
            favorites.push(id)
            }
        }
 
        localStorage.setItem('favorites', JSON.stringify('favorites'))
    }


Почему favorites определяется как строка, а не как массив?
в дальнейшем на основе этой ошибки не работает push
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
gtomilin
@gtomilin Автор вопроса
JavaScript HTML CSS
Нашёл ответ - favorites определяется как строка, а не как массив потому что в localStorage была внесена строка. Удалив её всё заработало
Видимо на каком-то этапе случайно внёс item как строку, поэтому не создавался новый массив JSON и не возможно было извлечь массив из JSON item.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы