2013-12-06 2 views
0

Я посылаю массив в службумассива вопрос длина в лазурных мобильных услугах

[ 
    { 
     "toppingid": "ABB934CB-EAB7-4863-B832-7F533DA08E2F", 
     "toppingname": "Default", 
     "toppingprice": "0.000000" 
    } 
] 

Когда я console.log это показывает, как указано выше. Я console.log, как показано ниже

toppinglistforCart = []; 
    toppinglistforCart = request.body.toppinglist 

    console.log(toppinglistforCart); 

Но когда я пытаюсь toppinglistforCart.length возвращает 132 по какой-то причине peculier.

и если я сделаю console.log(toppinglistforCart[0]), тогда он возвращает [ очень странно. Кто-то еще прошел через эту же проблему?

Спасибо за ваше время

ответ

1

Вашего toppinglistforCart переменных, как представляется, строка, длиной 132. (Это не работает в старых IE, но) JS позволяет использовать синтаксис topplinglistforCart[0] для доступа к отдельным символам в пределах string, подобно тому, как один и тот же синтаксис массива обращается к отдельным элементам массива.

Вам необходимо проанализировать содержание JSON вашей строки для создания объекта:

toppinglistforCart = JSON.parse(request.body.toppinglist); 

Заметим также, что ваша первая строка:

toppinglistforCart = []; 

... не нужен вообще - это устанавливает toppinglistforCart в новый пустой массив, но затем следующая строка устанавливает toppinglistforCart на что-то другое, чтобы пустые массивы были выброшены.

+0

имеет смысл. Благодаря :) –

Смежные вопросы