Express 后端应用程序,解构对象数组和 return 个新对象数组
Express Backend Application, destructure an array of objects and return new array of objects
我正在 mern 应用程序中使用 api,在后端我想析构对象数组,运行 每个数组中的一个项目的函数和return 一个新的对象数组或将新值添加到数组中。
这是我的控制器
const getObjects = async (req, res) => {
const { bucketKey } = req.params
const bucket = await new ForgeSDK.ObjectsApi().getObjects(
bucketKey,
req.params.objectName,
req.oauth_client,
req.oauth_token
)
const bucketObjects = bucket.body.items
// const encodedUrn = urnify(objectKey)
res.status(StatusCodes.OK).json({
bucketObjects,
totalObjects: bucketObjects.length,
numOfPages: 1,
})
}
所以 bucketObjects 数组中的每一项都有一个 objectKey,我想将 objectKey 转换为 Base64 编码的字符串并创建一个新的对象数组
这是我在邮递员return中收到的回复
"bucketObjects": [
{
"bucketKey": "dashboard",
"objectKey": "BRISMETRO-BRM-ADLSTSO00-3DM-000020.ifc",
"objectId": "urn:adsk.objects:os.object:dashboard/BRISMETRO-BRM-ADLSTSO00-3DM-000020.ifc",
"sha1": "4ed04b922c8863ac8323226da2a5f974730d13f0",
"size": 937888,
"location": "https://developer.api.autodesk.com/oss/v2/buckets/dashboard/objects/BRISMETRO-BRM-ADLSTSO00-3DM-000020.ifc"
},
您可以简单地使用 map 函数来 return 一个新数组。
const newArray = bucketObjects.map((object) => {
return {
...object,
objectKey: conversionToBase64(object.objectKey)
}
})
在发送响应之前使用简单的 forEach
迭代器转换数组的每个元素。
const getObjects = async (req, res) => {
...
const bucketObjects = bucket.body.items;
bucketObjects.forEach(obj => obj.key = new Buffer(obj.objectKey).toString('base64'));
res.status(StatusCodes.OK).json({
bucketObjects,
...
我正在 mern 应用程序中使用 api,在后端我想析构对象数组,运行 每个数组中的一个项目的函数和return 一个新的对象数组或将新值添加到数组中。 这是我的控制器
const getObjects = async (req, res) => {
const { bucketKey } = req.params
const bucket = await new ForgeSDK.ObjectsApi().getObjects(
bucketKey,
req.params.objectName,
req.oauth_client,
req.oauth_token
)
const bucketObjects = bucket.body.items
// const encodedUrn = urnify(objectKey)
res.status(StatusCodes.OK).json({
bucketObjects,
totalObjects: bucketObjects.length,
numOfPages: 1,
})
}
所以 bucketObjects 数组中的每一项都有一个 objectKey,我想将 objectKey 转换为 Base64 编码的字符串并创建一个新的对象数组
这是我在邮递员return中收到的回复
"bucketObjects": [
{
"bucketKey": "dashboard",
"objectKey": "BRISMETRO-BRM-ADLSTSO00-3DM-000020.ifc",
"objectId": "urn:adsk.objects:os.object:dashboard/BRISMETRO-BRM-ADLSTSO00-3DM-000020.ifc",
"sha1": "4ed04b922c8863ac8323226da2a5f974730d13f0",
"size": 937888,
"location": "https://developer.api.autodesk.com/oss/v2/buckets/dashboard/objects/BRISMETRO-BRM-ADLSTSO00-3DM-000020.ifc"
},
您可以简单地使用 map 函数来 return 一个新数组。
const newArray = bucketObjects.map((object) => {
return {
...object,
objectKey: conversionToBase64(object.objectKey)
}
})
在发送响应之前使用简单的 forEach
迭代器转换数组的每个元素。
const getObjects = async (req, res) => {
...
const bucketObjects = bucket.body.items;
bucketObjects.forEach(obj => obj.key = new Buffer(obj.objectKey).toString('base64'));
res.status(StatusCodes.OK).json({
bucketObjects,
...