【问题标题】:TS: Return object keys depending on input parametersTS:根据输入参数返回对象键
【发布时间】:2020-08-22 14:47:11
【问题描述】:

我有以下功能:

function getObject(inputObject, additionalParam1?, additionalParam2? ) {
  const returnObject = {...inputObject }

  if(additionalParam1) { 
    returnObject.additionalParam1 = additionalParam1
  }

  if(additionalParam2) { 
    returnObject.additionalParam2 = additionalParam2
  }

  return returnObject
}

它工作正常,但代码对我来说看起来很难看,因为所有的 if 语句。我还对返回值进行了后端验证,它希望 additionalParam1 和 additionalParam2 具有完全正确的类型或根本不存在,因此具有以下内容:

additionalParam1 = undefined / null 

returnObject 里面不是一个选项。

有没有办法让代码更漂亮、更易读?

【问题讨论】:

标签: javascript typescript function conditional-statements


【解决方案1】:

你可以考虑这样的事情:

function getObject(inputObject, additionalParam1?, additionalParam2?) {
    return {
        ...inputObject,
        ...additionalParam1 ? {additionalParam1} : {},
        ...additionalParam2 ? {additionalParam2} : {}
    }
}

【讨论】:

    猜你喜欢
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    • 2018-07-31
    • 2018-07-09
    • 1970-01-01
    • 2018-03-18
    相关资源
    最近更新 更多