javascript - 如何访问对象数组的属性

标签 javascript arrays json

我知道我一定错过了一些非常基本的东西,但我可以用一双新鲜的眼睛来做。

我有一个对象数组(参见代码)。

我正在尝试读取每个对象的属性variants 的值。

我尝试过很多组合。其一,如果我执行 object.variantsobject[0].variants,结果是 undefined

谁能告诉我为什么?

更新:我需要循环遍历数组中的对象并检查每个对象的 variants 属性。如果它不是 null,则获取其值并记录它们。

   [
    {
        "type": "text",
        "complete": true,
        "startPoint": {
            "x": 233.84,
            "y": 82.13
        },
        "endPoint": {
            "x": 461.27,
            "y": 79.74
        },
        "text": "xvxvs xsvx vx",
        "variants": [
            "xvxvs",
            "xsvx",
            "vx"
        ]
    },
    {
        "type": "text",
        "complete": true,
        "startPoint": {
            "x": 515.39,
            "y": 120.84
        },
        "endPoint": {
            "x": 803.67,
            "y": 111.31
        },
        "text": "casdc adcasdcasc",
        "variants": [
            "casdc",
            "adcasdcasc"
        ]
    }
]

最佳答案

假设您有一个包含以下内容的 JavaScript 变量:

var obj = 
    [
        {
            "type": "text",
            "complete": true,
            "startPoint": {
                "x": 233.84,
                "y": 82.13
            },
            "endPoint": {
                "x": 461.27,
                "y": 79.74
            },
            "text": "xvxvs xsvx vx",
            "variants": [
                "xvxvs",
                "xsvx",
                "vx"
            ]
        },
        {
            "type": "text",
            "complete": true,
            "startPoint": {
                "x": 515.39,
                "y": 120.84
            },
            "endPoint": {
                "x": 803.67,
                "y": 111.31
            },
            "text": "casdc adcasdcasc",
            "variants": [
                "casdc",
                "adcasdcasc"
            ]
        }
    ];

然后您可以像这样访问变体内容:

alert(obj[0].variants);

这是它的工作演示:http://jsfiddle.net/66o8h5de/

所以基本上 obj 是一个数组,obj[0] 表示该数组的第一个元素,obj[0].variants 是该数组第一个元素的 variants 属性。当然,根据您的需要,您可能希望循环遍历此 obj 数组的元素,在这种情况下,您可以使用 for 循环:

for(var i = 0; i < obj.length; i++) {
    var element = obj[i];
    alert(element.variants);
}

关于javascript - 如何访问对象数组的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33587733/

相关文章:

javascript - tinyMce 绑定(bind) focusin/focusout 事件?

javascript - 在 chrome 扩展程序中打开 url 而不打开选项卡?

javascript - 显示 0-100 范围输入,最小值为 30,但仍显示输入上的 0-30 区域

python - numpy.arrays 的 fsum,稳定求和

javascript - 如何在 AngularJS 中访问 json 中的值

javascript - 为函数添加文本样式

c++ - 变量周围的堆栈已损坏

javascript - 尝试添加链接以打开指向随机单词数组的 'steam://run/' 链接

javascript - jQuery 中的正则表达式困惑 (1.5.2)

javascript - Mongoose 从对象中删除属性