在javascript中访问数组内的对象
下面是我打算构建的状态机的一个示例在javascript中访问数组内的对象,javascript,Javascript,下面是我打算构建的状态机的一个示例 this.statemachine= { 声明:“空闲”, 过渡: { 闲置:{ ebaseinit:函数() { console.log(“Firebase初始化完成”); } , coreinit:函数() { console.log(“Firestore初始化完成”); } }, 就绪: { fetchdata:函数() { 日志(“获取数据”); } } } }您可以捕获事件名称并将其用作对象键 this.statemachine.trans
this.statemachine=
{
声明:“空闲”,
过渡:
{
闲置:{
ebaseinit:函数()
{
console.log(“Firebase初始化完成”);
} ,
coreinit:函数()
{
console.log(“Firestore初始化完成”);
}
},
就绪:
{
fetchdata:函数()
{
日志(“获取数据”);
}
}
}
}
您可以捕获事件名称并将其用作对象键
this.statemachine.transitions['ready']
您必须了解的第一件事是statemachine.transitions
不是数组,而是对象
,这就是为什么您不能在其上使用indexOf
if(this.statemachine.transitions)
let obj = this.statemachine.transitions[statemachine.state]
或
您可以使用for循环来迭代对象,并找到您要查找的内容
if (this.statemachine.transitions){
for (var key in this.statemachine.transitions) {
if (this.statemachine.transitions.hasOwnProperty(key)) {
if(this.statemachine.state == key){
console.log(this.statemachine.transitions[key])
}
}
}
}
this.statemachine.transitions[this.statemachine.state]
?