首页 > 解决方案 > 切换的替代方案,在javascript中循环多个条件

问题描述

我正在实现一个包含分页和排序的休息 API。

我的查询参数:

对于特定的获取请求,用户可以执行以下操作的组合:-

我正在考虑为此实现切换,如果将来添加额外的查询参数,那么列表可能会很长

那么有没有一种替代方法可以让我提到多个条件(以 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
}

标签: javascriptrestswitch-statement

解决方案


只需创建一个有点像这样的对象

   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 语句,为什么不呢?)


推荐阅读