arrays - 如何从 req.query 创建嵌套对象?
问题描述
我正在尝试创建一个用于发布到事件网格的对象。有顶级属性,例如EventType、Subject、DataVersion和EventTime。但是,我希望将提供给 req.query 的任何其他内容作为子项添加到 data 属性中。目前,下面的代码只添加了最后一项req.query
vs 继续添加/附加到它。
let parms = req.query;
for (var i in parms) {
let myKey = i;
let myValue = req.query[i];
switch (i) {
case 'eventtype':
event[0].eventtype = myValue;
break;
case 'subject':
event[0].subject = myValue;
break;
default:
event[0].data = { [myKey]: myValue };
break;
}
}
输出
eventTime: 2019-03-23T13:47:26.069Z,
dataVersion: '2.0',
eventtype: 'build',
subject: 'build' },
data: { color: 'red' } ]
期望的结果
eventTime: 2019-03-23T13:47:26.069Z,
dataVersion: '2.0',
eventtype: 'build',
subject: 'build' },
data: { color: red, power: on }]
解决方案
定义data
为对象,然后将键和值附加到data
.
let parms = req.query;
for (var i in parms) {
let myKey = i;
let myValue = req.query[i];
switch (i) {
case "eventtype":
event[0].eventtype = myValue;
break;
case "subject":
event[0].subject = myValue;
break;
default:
if (event[0].data) {
event[0].data[myKey] = myValue;
} else {
event[0].data = { [myKey]: myValue }
}
break;
}
};
推荐阅读
- sql-server - 在开发服务器上,我从那天开始分离一个数据库并附加到另一个驱动器,日志大小成倍增加?
- javascript - Expo / React Native:视频无法调整大小
- javascript - 无法在浏览器中显示图像。在画布标签中动态添加。但能够在检查元素中看到
- javascript - React:地图渲染组件导致不必要的重新渲染,子键道具不起作用?
- error-handling - 如何使用 $util.error 在 AppSync 中发送自定义错误
- spring - 为什么使用外部tomcat运行spring boot项目时没有调用main方法
- eclipse - 像在 Eclipse 上一样在 Android Studio 上导入库
- php - 用于更新具有相同 session_id 的表的 PHP 查询
- bash - 为什么这个 shell 脚本适用于一个实例而不适用于另一个实例?
- java - 如何使用 Java 方法在循环中逐行处理输入文件?