为什么我的JS对象最终会出现“未定义”的值?

时间:2012-10-22 18:59:30

标签: javascript

var testRuleInput = {
    "ruleName" : "renderDataVerificationFields",
    "dependencies" : [
        {
            "fieldName" : "mailingStreetAddress",
            "resource" : "verificationResults",
            "attribute" : "verifyStreetAddress"
        }
    ]
};

然而,当我稍后致电console.log(testRuleInput.dependencies.attribute)时;我得到undefined。困惑!

4 个答案:

答案 0 :(得分:2)

dependencies是一个对象数组。

使用以下代码更新您的代码:

console.log(testRuleInput.dependencies[0].attribute)

或删除数组语法:

"dependencies": {
    "fieldName": "mailingStreetAddress",
    "resource": "verificationResults",
    "attribute": "verifyStreetAddress"
}

答案 1 :(得分:0)

这是因为dependencies是一个数组。我想你正在寻找testRuleInput.dependencies[0].attribute

答案 2 :(得分:0)

你正在使用数组。

testRuleInput.dependencies[0].attribute

如果您只想要1个依赖关系或正确索引,请删除方括号。

var testRuleInput = {
                        "ruleName" : "renderDataVerificationFields",
                        "dependencies" : {
                            "fieldName" : "mailingStreetAddress",
                            "resource" : "verificationResults",
                            "attribute" : "verifyStreetAddress"
                        }
                   };

答案 3 :(得分:0)

testRuleInput.dependencies是一个数组。如果您使用testRuleInput.dependencies[0].attribute,您将得到您期望的结果。