javascript - ES6 将两个变量组合成一个现有的 javaScript 对象
问题描述
我目前正在返回数据对象之外createdAt
,updatedAt
我想将它们添加到数据对象中,以便我可以返回单个对象。
我也注意到我$init: true
来自某个地方,如何摆脱这个?
static profile = async (req: Request, res: Response) => {
try {
const { username } = req.params;
const account = await userModel
.findOne({ 'shared.username': username })
.exec();
if (account) {
const {email, loggedIn, location, warningMessage, ...data} = account.shared;
const { updatedAt, createdAt } = account;
res
.status(200)
.send({ data, updatedAt, createdAt }); // <=== How to combine updatedAt & createdAt into data?
} else res.status(400).send({ message: 'Server Error' });
} catch (error) {
res.status(400).send({ message: 'Server Error', error });
}
};
目前的结果是
createdAt: "2019-12-13T12:15:05.031Z"
data: {
$init: true // <=== why is this here, where did it come from?
avatarId: "338fcdd84627317fa66aa6738346232781fd3c4b.jpg"
country: "AS"
fullName: "Bill"
gender: "male"
language: "en"
username: "bill"
}
updatedAt: "2019-12-14T16:07:34.923Z"
解决方案
使用扩展运算符:
{ ...data, updatedAt, createdAt }
警告,你的变量名将成为你的索引
推荐阅读
- csv - 按特定列的值拆分 CSV 文件
- sql - 如何使用 laravel 的查询生成器进行子查询
- ios - 在 iOS 13 中获取根视图控制器的正确方法是什么?
- javascript - react-data-table-component 中标题旁边的 div
- google-apps-script - 发布我的第一个 GAS,API 信任和安全没问题,API Gsuite Marketplace 审核了吗?
- kubernetes - Kubernetes 使用“Kubectl delete -f PVC_NAME”防止 PVC 被删除
- c++ - 为什么在 c 中使用 getopt 时 opstring 没有创建预期的响应?
- excel - CountIf 结果为“0”
- android - 像“Rave”这样的应用程序如何在自己的应用程序中播放 Netflix?
- c# - FirstOrDefaultAsync 返回 System.NullReferenceException [错误来源不清楚]