Задать вопрос
@twohundrediq

Почему возвращается строка вместо массива?

Добрый день, почему возвращается строка, а не массив?

var cart = [
           {id: '1', name: 'gel1', photo: '1.png', price: '1.50'},
           {id: '2', name: 'gel2', photo: '2.png', price: '2.50'},
      ];
        $.cookie('cart',  JSON.stringify(cart));


Я создал куки с многомерным массивом, получил его вот таким образом и решил перебрать

let cart = $.cookie('cart');
        if (cart != undefined) {
            for (var i = 0; i < cart.length; i++) {
                alert(cart[i]);
            }
        }


Но вместо массива переменная cart содержит строку, которая перебирается не элементами, а символами.
Пробовал делать так

var cart = JSON.parse($.cookie('name'));

Но в этом случае вообще не работает, так как js сам уже переформатировал строку.
Как мне получить не строку, а массив?
  • Вопрос задан
  • 149 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
@shsv382
Может быть, потому что ты сам превращаешь массив в строку вот этим вызовом? JSON.stringify(cart)
Ответ написан
Комментировать
@no-taktik
const cart = JSON.parse($.cookie('cart'));
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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