减少多个if语句的最佳方法是什么?

时间:2019-09-24 10:07:03

标签: javascript ecmascript-6 ecmascript-7

我有一个帮助程序函数,该函数用适当的查询属性构建对象。我在我的诺言请求中将此对象用作主体。重构多个if语句的最优雅方法是什么?这是一个函数:

?Has website

2 个答案:

答案 0 :(得分:0)

如果service检查了它的参数(应该检查),则可以从default parameters中受益。像这样:

const getQueryParams = (
  query = '',
  pagination = {pageNumber: 0, rowsOnPage: 0},
  sorting = {isDescending: '', name: ''}
) => {
  const queryParam = {
    page: pagination.pageNumber,
    size: pagination.rowsOnPage,
    q: encodeURIComponent(query),
    sort: `${sorting.isDescending}${sorting.name}`    
  }
  return ...;
};

jsfiddle上玩的现场示例。

答案 1 :(得分:-2)

这是一个看起来像的想法,但是您需要在采用参数之前:

  const query = new URLSearchParams();
  Object.keys(params).forEach(key => {
    if (params[key]) {
      query.append(key, params[key]);
    }
  });