【发布时间】:2019-02-06 07:08:41
【问题描述】:
让我给你看一个我想要完成的例子:
假设我想调用一个函数的子函数的子函数的子函数(等等,比如说 50 多个子函数),比如:
foo(arg).bar(other).foobar(int, str).execute(str)
假设有 50 多个子函数,因此键入每个子调用是非常不切实际的。
SO:我如何编写一个函数来调用子函数的子函数等...(基于数组长度)?,基于这样的数组(对于示例):
[["foo",["asdf"]],["bar",["other"]],["foobar",[123,"hi"]],["execute",["today"]]]
需要明确的是,我并不是简单地尝试使用相应的参数单独调用数组中的每个函数,我可以通过以下方式轻松做到这一点:
arr.forEach(x=>functionDictionary(x[0])(...x[1])
我只想得到这个:
foo(arg).bar(other).foobar(int, str).execute(str)
从此:
[["foo",["asdf"]],["bar",["other"]],["foobar",[123,"hi"]],["execute",["today"]]]
【问题讨论】:
-
“在另一个方法的返回值上调用一个方法” 会更好的措辞。 “从方法名称数组构造方法链”会更好。
-
@Eric 好主意 :)
标签: javascript arrays function substring