帮我优化一下这段代码 getQueryParams = () => { const result = this.searchFormRef.getFieldsValue() const { createTime, updateTime } = result const params = { ...result, status: 0, ...(createTime && { createBeginTime: Moment(createTime[0]).format('YYYY-MM-DD HH:mm:ss'), createEndTime: Moment(createTime[1]).format('YYYY-MM-DD HH:mm:ss'), }), ...(updateTime && { updateBeginTime: Moment(updateTime[0]).format('YYYY-MM-DD HH:mm:ss'), updateEndTime: Moment(updateTime[1]).format('YYYY-MM-DD HH:mm:ss'), }), } if (createTime && !createTime.length) { delete params.createBeginTime delete params.createEndTime } if (updateTime && !updateTime.length) { delete params.updateBeginTime delete params.updateEndTime } delete params.createTime delete params.updateTime return params }
时间: 2024-03-27 22:37:03 浏览: 92
request.getParameterMap()返回的是String []数组1
可以尝试优化一下这段代码,可以使用一些函数式编程的方法,提高代码效率和可读性,例如:
```
getQueryParams = () => {
const { createTime, updateTime, ...result } = this.searchFormRef.getFieldsValue();
const formatTime = (time, prefix) => time && {
[`${prefix}BeginTime`]: moment(time[0]).format('YYYY-MM-DD HH:mm:ss'),
[`${prefix}EndTime`]: moment(time[1]).format('YYYY-MM-DD HH:mm:ss')
};
const params = {
...result,
status: 0,
...formatTime(createTime, 'create'),
...formatTime(updateTime, 'update')
};
['create', 'update'].forEach(prefix => {
if (params[`${prefix}BeginTime`] === undefined) {
delete params[`${prefix}BeginTime`];
delete params[`${prefix}EndTime`];
}
});
return params;
}
```
这段代码使用了解构和剩余参数语法,简化了代码的结构。同时,使用了 `formatTime` 函数来格式化时间,减少了代码的重复。最后,使用了 `forEach` 循环来删除时间参数,增加代码的可读性。
阅读全文