簡體   English   中英

我可以將 object 傳遞給將其字段作為參數的 function 嗎?

[英]Can I pass an object into a function that takes its fields as parameters?

我有一個 function 看起來有點類似於以下內容:

foobar: function(arg1, arg2, arg3, ... argN) {
   // execute function
   // return result
}

實際上,這個 function 需要很多arguments。 我不允許更改此 function 的內容或其構建方式。

我還有一個 object:

inputObj: {
   arg1: val1,
   arg2: val2,
   // ...
   argN: valN
}

其中此 object 的字段與 function foobar 的參數完全匹配 - 換句話說,字段拼寫相同,它們以相同的順序添加到 object 等。

Javascript 是否具有內置的 function 以將inputObj傳遞到 function foobar 或者,Javascript 是否有一種優雅的方式讓我將inputObj object 拆分為其內容,以便根據它們的鍵將值傳遞到 function 中?

例如,一種可能的解決方案可能是:

const arg1 = inputObj['arg1'];
const arg2 = inputObj['arg2'];
// ...
const argN = inputObj['argN'];

foobar(arg1, arg2, ..., argN);

但我正在尋找一種方法來避免寫出整個代碼塊以使其更易於閱讀。

提前致謝!!

您可以使用解構。

const {arg1, arg2, ..., argN} = inputObj;
foobar(arg1, arg2, ..., argN);

暫無
暫無

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

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