Javascript 如何解析数据类型函数数组(){[本机代码]}
我有一个Postgres/Express api,其中包含提交ACT的用户 我有以下路线Javascript 如何解析数据类型函数数组(){[本机代码]},javascript,postgresql,express,Javascript,Postgresql,Express,我有一个Postgres/Express api,其中包含提交ACT的用户 我有以下路线 router.get('/', async (req, res) => { // loop through users console.log('crons: getting users'); const users = await User.query(); for (const user of users) { const lastAct = await Act
router.get('/', async (req, res) => {
// loop through users
console.log('crons: getting users');
const users = await User.query();
for (const user of users) {
const lastAct = await Act
.query()
.where('users_id', user.id)
.orderBy('created_at', 'desc')
.limit(1);
console.log('Users last act is :', JSON.parse(lastAct))
};
res.json({
success: true, message: 'ok'
});
});
lastAct返回如下对象:
[ Act {
id: 1,
deed: 'Writing',
users_id: 8,
created_at: 2019-12-15T13:19:04.243Z,
updated_at: 2019-12-15T13:19:04.243Z } ]
构造函数方法返回此对象的数据类型:函数数组(){[本机代码]}
我不知道如何解析它来访问属性id、用户id等呃,你不需要解析任何东西,它已经是一个包含一个对象的数组,你可以直接访问它吗?比如
console.log(lastAct[0].dect)
我试过了。我得到例如(节点:57612)未处理的PromisejectionWarning:TypeError:无法读取未定义的属性“契据”
,那么可能不是所有用户都有lastAct
,在尝试访问它之前,您应该首先检查lastAct.length
(返回的行数)。在我的模型中,用户有Acts。lastAct是一个常量,包含查询的对象返回,以查找特定用户的最后一个act。对于没有ACT的uses,lastAct返回一个空数组。如果用户有ACT,查询将以上面所示的形式返回对象,这就是我试图解析的内容。数组的格式为[Act{…}]。我认为Act
是什么把我从fwiw中甩了出来,它只是意味着数组中的对象是一个Act
实例,这就是console.log
显示它的方式。