如何从这个复杂的JavaScript对象访问值?
我和你一起工作 我有一个包含手机加速计值的对象 我需要的值嵌套在对象的符号中 如何访问这些值 对象名称为“消息” 我已经试过了如何从这个复杂的JavaScript对象访问值?,javascript,Javascript,我和你一起工作 我有一个包含手机加速计值的对象 我需要的值嵌套在对象的符号中 如何访问这些值 对象名称为“消息” 我已经试过了 console.log(message.__sensor__.quaternion); 但我得到的结果是“未定义” 我以前从未在JavaScript中使用过符号数据类型 我要访问的值是四元数值 这是对象结构的屏幕截图- 感谢您的帮助。来自: 性质 方向传感器.四元数:返回一个四元素数组,其元素包含表示设备方向的单位四元数的组件 因此: 您还可以在屏幕截图中看到,对象
console.log(message.__sensor__.quaternion);
但我得到的结果是“未定义”
我以前从未在JavaScript中使用过符号数据类型
我要访问的值是四元数值
这是对象结构的屏幕截图-
感谢您的帮助。来自:
性质
方向传感器.四元数
:返回一个四元素数组,其元素包含表示设备方向的单位四元数的组件
因此:
您还可以在屏幕截图中看到,对象本身有一个getter四元数
我以前从未在JavaScript中使用过符号数据类型
符号用作属性名的原因多种多样,但如果使用它们,则几乎总是意味着作为API的使用者,您不应该直接访问该值。相反,您应该使用对象提供的“公共”API来访问此数据,例如在本例中。
函数GetSymbol(对象、名称){
常量字符串=`Symbol(${name})`
返回Object.getOwnPropertySymbols(Object.find)(symbol=>symbol.toString()==string)
}
常数传感器=GetSymbol(消息“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
console.log(message[\uuu sensor\uuu])
Hey,感谢您的快速回复。我得到了四个未定义的值。知道为什么吗?也许你想在传感器读取数据之前访问数据。参见@FelixKling我以为问题是关于访问符号属性的,我猜是”\_(ツ)_/'
。在更高的层次上,问题是如何访问那里的数据,答案是使用公共API来访问。
console.log(message.quaternion);