带有var的Javascript方法

时间:2018-06-28 08:46:11

标签: javascript object methods var

我试图获取对象中对象的值,但是键值是变量,所以我不知道如何使此代码起作用:

            TypeInfo typeInfo = typeof(PdfPKCS7).GetTypeInfo();
            FieldInfo rsaDataField = typeInfo.GetDeclaredField("RSAdata");
            Object rsadatafieldcontent = rsaDataField.GetValue(pkcs7);
            if (rsadatafieldcontent != null && ((byte[])rsadatafieldcontent).Length == 0)
            {
                _log.Info("Found zero-length encapsulated content: ignoring");
                rsaDataField.SetValue(pkcs7, null);
            } 
            if (pkcs7.Verifyc())    <------ **HERE return false**
            { 

以后我想使用这个:

var res = 'Hello';
var greetings = {
  'Hello': {'lang':'EN' ,'goodbye': 'Goodbye'},
  'Bonjour': {'lang':'FR', 'goodbye': 'Aurevoir'}
}

得到:'EN',现在我得到'undefined',因为它计算表达式greetings.res而不是greeting.Hello,因此它不在列表中找到。

编辑:感谢您的快速回答!

4 个答案:

答案 0 :(得分:5)

请参见How to create a Dictionary with Key/Value pairs

var res = 'Hello';
var greetings = {
  'Hello': {'lang':'EN' ,'goodbye': 'Goodbye'},
  'Bonjour': {'lang':'FR', 'goodbye': 'Aurevoir'}
}

console.log(greetings[res].lang);

答案 1 :(得分:1)

这应该对您有用:

var res = 'Hello';
var greetings = {
  'Hello': {'lang':'EN' ,'goodbye': 'Goodbye'},
  'Bonjour': {'lang': 'FR', 'goodbye': 'Aurevoir'}
}

alert(greetings[res].lang);

答案 2 :(得分:0)

拥有动态键时,请使用[]

greetings[res].lang

OR

greetings[res]['lang']

答案 3 :(得分:-2)

您可以这样访问它:

greetings[res].lang