我知道我一定错过了一些非常基本的东西,但我可以用一双新鲜的眼睛来做。
我有一个对象数组(参见代码)。
我正在尝试读取每个对象的属性variants
的值。
我尝试过很多组合。其一,如果我执行 object.variants
或 object[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/