This question already has answers here:
Dynamically access object property using variable
(15个答案)
4年前关闭。
我有以下目的...
上面的console.log输出以下内容...
如何从
这样的事情没问题...
但这不是...
有没有一种方法可以代替我使用javascript提取值?
像是将其转换为字符串,然后将其拆分或沿这些行转换?这可能吗?
谢谢
(15个答案)
4年前关闭。
我有以下目的...
var object = doc.$set;
console.log(object);
上面的console.log输出以下内容...
{
createdBy: 'o5Wye6LLMGNXLn7HY',
createdAt: Mon Apr 11 2016 15:25:35 GMT+1000 (AEST),
'contactDetails.orderedBy': 'MvCun8p6vxndj3cr8',
updatedAt: Mon Apr 11 2016 18:04:14 GMT+1000 (AEST)
}
如何从
'contactDetails.orderedBy'
获取值?这样的事情没问题...
var createdBy = doc.$set.createdBy;
但这不是...
var orderedBy = doc.$set.contactDetails.orderedBy;
有没有一种方法可以代替我使用javascript提取值?
像是将其转换为字符串,然后将其拆分或沿这些行转换?这可能吗?
谢谢
最佳答案
尝试var orderedBy = doc.$set['contactDetails.orderedBy'];
。
由于对象键是数字文字或有效的标识符名称,因此必须引用键contactDetails.orderedBy
以避免语法错误。
如果属性名称是数字文字或有效的标识符名称,则只能省略引号。
对于createdBy
键,您可以检索object.createdBy
之类的值,但是对于contactDetails.orderedBy
则需要引用,因此可以通过object[contactDetails.orderedBy]
进行访问。
09-25 17:18