javascript - 云函数:地图中未读取的值
问题描述
为什么我无法在嵌套地图中读取以下变量?
for (const key in doc.data().category) {
const location = doc.data().location; // declared but it's value is never read"
const mainCategory = doc.data().category; // declared but it's value is never read"
const subCategory = doc.data().category[key]; // declared but it's value is never read"
categoryCount.doc('categoryCount')
.set({ location: { mainCategory: { subCategory: "test" } } },
{ merge: true })
.catch((error) => console.log(error));
控制台日志澄清:
console.log(location); // "New York"
const map = { location: { mainCategory: { subCategory: true } } };
console.log(map); // "location": {"mainCategory": {"subCategory": true}}
解决方案
如果您想使用变量的值作为属性的名称,您必须告诉 JavaScript 您要插入该值(而不是仅仅命名键):
{ [location]: { mainCategory: { subCategory: "test" } } }
注意 . 周围的方括号location
。
另请参阅:方括号 Javascript 对象键
推荐阅读
- ios - React Native 图像不会显示在一个应用程序上,但会显示在其他新应用程序上
- javascript - Javascript:如何在 jss 中使用相邻的兄弟选择器// 点击时改变颜色
- flutter - 在 Flutter 中更改页脚颜色。(持久页脚按钮)
- python - 如何以编程方式设置 SpanSelector 小部件的最小值和最大值
- c - C - Linux 在内核模式下创建声音
- angular - Angular 11,''router-outlet' 不是已知元素:'
- node.js - 在 Heroku 上进行第二次部署后,Node.JS 应用程序在启动时崩溃
- javascript - 将输入类型日期从 JavaScript 动态更改为电子邮件在 Safari 中不起作用
- css - 将换行限制为 n 行
- vue.js - 如何在 vue-quill 编辑器中发出多个参数?