簡體   English   中英

TS:根據輸入參數返回 object 鍵

[英]TS: Return object keys depending on input parameters

我有以下 function:

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 內部不是一個選項。

有沒有辦法讓代碼更漂亮、更易讀?

你可以考慮這樣的事情:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM