【发布时间】:2019-09-30 19:00:26
【问题描述】:
我正在使用 vuejs 开发一个 firebase 项目,试图绘制一个图表来显示每月订阅者的数量。主要问题是只计算每个月创建的配置文件的数量。剩下的步骤对我来说没问题。
我想这样做:
// calculation of number of users each month
let months = ['jan', 'feb', 'mar', 'apr', 'may', 'Jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'];
this.users.filter(user => {
let print = user.metadata.creationTime;
for (var month in months) {
if (print.indexOf(month) > -1) {
console.log(user.email)
}
}
})
我想象它是这样的,..但是控制台每个月都会打印重复的记录,..
我在想可能有另一种方法,.. 还是我只是坚持调整和尝试这个?
【问题讨论】:
-
目前尚不清楚您要做什么。你的预期输出是什么?你的输入是什么样的?
-
我认为您的意思是
month of months而不是in。目前您正在迭代数字索引。我还要注意Jun与其他月份的情况不同。也不清楚你为什么使用filter,似乎不太可能是合适的迭代器。 -
我会避免使用 indexOf() 并将其替换为 include()。另外,我同意@skirtle。
for...of更多地用于数组,for...in更多地用于对象的键。filter旨在根据某些标准返回一些对象,看起来您并没有尝试这样做。你能提供更多的上下文吗?
标签: javascript firebase vue.js vuejs2