【发布时间】:2021-09-21 20:12:56
【问题描述】:
我正在尝试从表单数据创建记录。当我 console.log(req.body) 我得到以下记录。
req.body => [Object: null prototype] {
id: '1',
key1: 'Value1',
key2: 'Value2',
supervisors: '[object Object],[object Object],[object Object]'
}
所以我检查了存储记录的数据库,发现主管存储为:
supervisors: Array(3)
0:
name: "Reporter"
userId: 4
1:
name: "Officer 1"
userId: 5
2:
name: "Coordinator"
userId: 2
我想在 req.body 的 supervisors 字段中将 userId 的值作为数组获取,这样我的 req.body 将如下所示:
req.body => [Object: null prototype] {
id: '1',
key1: 'Value1',
key2: 'Value2',
supervisors: '[4, 5, 2]'
}
-
我做了
const supervisors = JSON.stringify(req.body.supervisors)),当控制台登录时我得到了[object Object],[object Object],[object Object] -
我输入了
const supervisors = q.supervisors ? JSON.parse(q.supervisors) : [];,当控制台登录时我得到了SyntaxError: Unexpected token o in JSON at position 1 at JSON.parse。 -
我输入了
const supervisors = req.body.supervisors.map(sup => sup.userId);,当控制台登录时我得到了req.body.supervisors.map is not a function。
我怎样才能将主管的值设为 [2, 4, 5]?
【问题讨论】:
-
const superIds = supervisors.map(s => s.userId);
标签: javascript arrays json multidimensional-array