如何使用其他对象访问javascript对象

时间:2019-02-14 17:21:24

标签: javascript

我正在尝试使用easySegmentNameMap [“ EMAIL_ENGAGED”]。text访问easySegmentNameMap的属性,但是我不确定,这是什么问题?如果我使用easeSegmentNameMap [“ EMAIL_ENGAGED”]。name

,则可以正常工作
 var easeSegmentNameMap = {
            "EMAIL_ENGAGED": {
                 name: "emailEngaged"
            },
            "EMAIL_INACTIVE": {
                 name: "emailInactive"
            },
            "LIKELY_TO_THRIVE": {
                 name: "likelyToThrive"
            },
            "MOST_VALUABLE_SUBSCRIBERS": {
                 name: "mostValuableSubscribers"
            },
            "NEARLY_INACTIVE": {
                 name: "nearlyInActive"
            },
            "NEVER_ACTIVATED": {
                 name: "neverActivated"
            },
            "QUESTION_MARKS": {
                 name: "questionMarks"
            }
        };
        var text="name";

        alert(easeSegmentNameMap["EMAIL_ENGAGED"].text);

O / P

undefined

5 个答案:

答案 0 :(得分:1)

尝试一下:

alert(easeSegmentNameMap["EMAIL_ENGAGED"][text]);

text是一个变量,必须进行插值。

答案 1 :(得分:1)

您无法访问

var text="name";
alert(easeSegmentNameMap["EMAIL_ENGAGED"].text);

文本仍然是属性,在这种情况下,它不是变量。 如果要访问变量,则应按以下方式访问:

 alert(easeSegmentNameMap["EMAIL_ENGAGED"][text]);

答案 2 :(得分:0)

尝试easySegmentNameMap [“ EMAIL_ENGAGED”] [文本]

答案 3 :(得分:0)

只需使用strcpy括号表示法即可。每当您需要使用变量访问任何对象属性时,都需要使用[]表示法。

[]

答案 4 :(得分:0)

尝试一下:[“ EMAIL_ENGAGED”]。名称