繁体   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