1

jquery脚本中有一个大对象,我想提取它(获取变量。我认为需要使用“。”。示例:

data.0.name

但就我而言,这不起作用。附有示例的图片。我怎样才能得到“代码”变量?在此处输入图像描述

4

3 回答 3

5

0不是有效标识符,因此您需要使用索引表示法:

data[0].code
于 2013-04-18T17:09:00.810 回答
1

将键作为数字似乎很奇怪,请使用括号表示法。

data["0"].name
于 2013-04-18T17:09:26.713 回答
0

我会在线回复@SLaks,他是绝对正确的。

如果我没有错,那么您的数据类似于:-

        var data = [
            {
                "code": "Lorem",
                "created": "2012-01-01"
            },
            {
                "code": "Lorem",
                "created": "2012-01-02"
            },
            {
                "code": "Lorem",
                "created": "2012-01-03"
            }
        ];

现在,如果您需要访问数据,您可以尝试两种选择:-

第一次使用.each

//If your using .each for Array
        $.each(data, function (index, value) {
            console.log("1st Param= " + value.code + "| 2nd Param= " + value.created);
        });

第二:-如果您要手动访问,using the index那么您可以尝试:-

//If you manualy want to access:
for (var i = 0; i < data.length; i++) {
    console.log("1st Param= " + data[i].code + "| 2nd Param= " + data[i].created);
}

仅供参考,您可以复制并粘贴 HTML 文件:-

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script>
        $(document).ready(function () {
            var data = [
                {
                    "code": "Lorem",
                    "created": "2012-01-01"
                },
                {
                    "code": "Lorem",
                    "created": "2012-01-02"
                },
                {
                    "code": "Lorem",
                    "created": "2012-01-03"
                }
            ];
            console.log(data);
            //If your using .each for Array
            $.each(data, function (index, value) {
                console.log("1st Param= " + value.code + "| 2nd Param= " + value.created);
            });
            //If you manualy want to access:
            console.log("----------");
            for (var i = 0; i < data.length; i++) {
                console.log("1st Param= " + data[i].code + "| 2nd Param= " + data[i].created);
            }


        });

    </script>
</head>
<body>

</body>
</html>

[更新] 没有注意到@Palash Mondal回复,这是我想传达的。这对我来说似乎是正确的。

于 2013-04-18T17:29:33.847 回答