azure移动服务中的数组长度问题

Array length issue in azure mobile services

本文关键字:问题 数组 移动 服务 azure      更新时间:2024-03-28

我正在向服务发送一个数组

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

当I console.log时,它显示为如上所述。我在下面控制台日志

   toppinglistforCart = [];
   toppinglistforCart = request.body.toppinglist
   console.log(toppinglistforCart);

但当我尝试toppinglistforCart.length时,由于某种特殊的原因,它返回132。

如果我执行CCD_ 3,那么它返回非常奇怪的CCD_。其他人也遇到过同样的问题吗?

感谢您抽出时间

您的toppinglistforCart变量看起来是一个长度为132的字符串。(它在旧的IE中不起作用,但)JS允许您使用topplinglistforCart[0]语法来访问字符串中的各个字符,类似于数组上的相同语法访问各个数组项的方式。

您需要解析字符串的JSON内容来创建一个对象:

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

还要注意,你的第一行:

toppinglistforCart = [];

根本不需要-它将toppinglistforCart设置为一个新的空数组,但下一行将toppinglistforCart设置为其他内容,这样空数组就会被丢弃。