我正在尝试使用变量作为Firestore文档路径:
console.log(change.doc.data().m_1.name); <----- This work well !
a = 1;
let me = change.doc.data().m_+a; <----- But not that....
console.log(me.name);
我该怎么做? 先感谢您 ! :)
答案 0 :(得分:3)
使用动态属性时,应使用方括号。
let me = change.doc.data()['m_' + a];
答案 1 :(得分:3)
我认为您想将键的名称构建为它自己的变量,并使用它来索引对象。
const a = 1;
const key = "m_" + a;
const me = change.doc.data()[key];
答案 2 :(得分:1)
在示例中使用a
变量时,您要让JS将数字1添加到函数输出中。这不是正确的方法。您想使用一个键来访问data()
函数返回的数据,如下所示。
change = {
doc: {
data: function() {
return {
m_1: {
name: "Mario",
occupation: "plumber",
siblings: 1,
age: 24
},
m_2: {
name: "Mike",
occupation: "developer",
siblings: 3,
age: "28"
}
}
}
}
}
console.log("Old way:" + change.doc.data().m_1.name);
const a = 1;
let me = change.doc.data()['m_' + a];
console.log("Desired way: " + me.name)
我假设从您的问题中得出了一个简单的数据结构,但是我不确定这就是您所得到的。但看起来可能有点像。
编辑 awww ....页面没有刷新,我没有看到两个最初的答案:(嗯...至少我们同意