javascript - 切换的替代方案,在javascript中循环多个条件
问题描述
我正在实现一个包含分页和排序的休息 API。
我的查询参数:
- 对于分页 - 页面(强制),限制(可选)。
- 用于排序 - order_by(强制),sort_by(可选)
对于特定的获取请求,用户可以执行以下操作的组合:-
- 使用分页
- 使用分页+排序
- 使用排序
- 使用分页(无限制)+ 排序(无 sort_by)
- 使用分页(带限制)+ 排序(带 sort_by)
我正在考虑为此实现切换,如果将来添加额外的查询参数,那么列表可能会很长
那么有没有一种替代方法可以让我提到多个条件(以 OR 形式)并且也不会降低性能?
基于评论:- 5 个 if 语句可以实现相同的目标,但目标是具有可扩展性、可读性和低性能(如果可能的话)
function getResults(object) {
var title = object.params
switch (title) {
case 'page':
title = 'page'
break
case 'order_By':
title = 'orderBy'
default:
title = 'Unassigned'
break
}
.......( continued)
return title
}
解决方案
只需创建一个有点像这样的对象
Page
PageSize (Limit i guess? Since paging in itself has no limit, just the pages)
Sort
SortDirection
我想这应该适合你?
然后通过方法应用条件。例子:
var myPagingObject = {};
function applyPagingParameter(key, value) {
myPagingObject[key] = value;
}
不需要这样的 if 语句(当然后端除外,但是如果您标准化 4 个可以在应用程序范围内使用的 if 语句,为什么不呢?)
推荐阅读
- spring-boot - 如何解决 java.lang.IllegalArgumentException:Junit 中用于 Springboot Rest 的 Property 'dataSource'
- assembly - 32 位或 64 位处理器中的可变大小
- php - php中NAN和is_nan()函数的概念
- html - 为什么更改复选框后元素不对齐?
- go - 如何使用 Go Golang 对文件进行签名
- powershell - 在powershell中有一种方法可以使用乘法将正数变为负数吗?
- tableau-api - Tableau - 计算新数据点或划分类别
- vba - Excel VBA根据不同工作表中的动态单元格值选择和复制行数
- c# - 如何从 Winform 中清除用户控件?
- google-cloud-platform - 增加同时远程桌面 (TS) 连接的数量