javascript - 如何使用每个数据集中的值对我的数据进行不同格式的分类?使用 IF 语句或 Filter()?请看说明
问题描述
目前,下面的数据正在返回payments
, pending
, 和inactive
在代码的末尾,如图所示。如您所见,每个数据集都返回不同的值。我想重组我返回数据的方式type
。
因此,例如,当type
等于“发票”或“免费”或“一次性”时,它会将其归类为Once
,当数据type
等于时,将Semester
其归类为Recurring
。
type
是一个字符串,输出为type
“学期”、“发票”、“一次性”和“免费”。
所以简而言之,我想尝试得到这样的东西
{
"once": {
"payments": [...],
"pending": [...],
"inactive": [...]
},
"recurring": {
"payments": [...],
"pending": [...],
"inactive": [...]
}
}
我试图创建一个这样的函数并通过过滤器,但它没有用。关于如何编写代码的任何建议?
这是我尝试过的。也是order
查询的一部分,所以这是可行的,我只是不发布其余的代码,所以它不会变得混乱。我在paymentsResults[i].filter()
说它不起作用时遇到了错误。无论如何,如果有更好的写法,请告诉我。欣赏它。
const getCatType = order => {
if (
order.type === "Invoice" ||
order.type === "One-time" ||
order.type === "Free"
) {
return "Once";
} else if (order.type === "Semester") {
return "Recurring";
}
};
for (let i = 0; i < paymentsResults.length; i++) {
const paymentsOnce = paymentsResults[i].filter(o => getCatType(o) === "Once");
}
这是下面的主要代码
const query = await pool.query(q);
const payments = query.rows.filter(o => getCategory(o) === "payment");
const pending = query.rows.filter(o => getCategory(o) === "pending");
const inactive = query.rows.filter(o => getCategory(o) === "inactive");
const paymentsResults = await Promise.all(
payments.map(async order => {
return {
date: getDate(order),
item: await getItem(order),
total: getTotal(order),
purchaser: getPurchaser(order),
email: getEmail(order),
paymentMethod: getPaidUsing(order),
status: getStatus(order),
type: getType(order),
deposit: getJustDeposit(order)
};
})
);
const pendingResults = await Promise.all(
pending.map(async order => {
return {
date: getDate(order),
item: await getItem(order),
total: getTotal(order),
purchaser: getPurchaser(order),
email: getEmail(order),
status: getStatus(order),
type: getType(order),
deposit: getJustDeposit(order)
};
})
);
return {
payments: paymentsResults,
pending: pendingResults,
inactive: inactive
};
解决方案
推荐阅读
- php - 如何将慢查询追溯到 WordPress/WooCommerce 中的代码
- php - PHP 法尔康。在模型中使用 postgres nextval(sequence)
- java - 来自以前用户的库错误。如何将库更改为我自己的?
- python-3.x - Tensorflow Transformer Colab:AttributeError:模块'tensorflow_core'没有属性'compiler'
- performance - 性能和负载测试 Microsoft Botframework 仅在 50 个用户后失败
- javascript - 从 Fetch 动作返回未定义状态到 Rails 后端
- sqlite - 包含数据但不包含表的 Sqlite 文件?
- python - 如何对 2 个分组的 Groupby 数据框进行计算
- pulumi - 如何将 Visual Studio 调试器附加到 pulumi up
- java - Android permissions and permission changing