使用jquery或javascript从对象中获取变量

时间:2013-04-18 17:08:26

标签: javascript jquery

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

  

data.0.name

但在我的情况下,这不起作用。 带有示例的附加图像。我如何获得“代码”变量?enter image description here

3 个答案:

答案 0 :(得分:5)

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

data[0].code

答案 1 :(得分:1)

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

data["0"].name

答案 2 :(得分: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回复,这是我想传达的。这似乎对我来说是正确的。