【发布时间】:2018-02-05 01:47:59
【问题描述】:
如何将一个函数数组添加到一个对象中,其中键作为函数的名称,值作为函数的返回值。一个例子是:
var a=x=>"M",b=_=>"e",c=_=>"r",d=_=>"y",e=_=>"C",
f=_=>"h",g=_=>"i",h=_=>"s",i=_=>"t",j=_=>"m",
k=_=>"a",l=_=>" ",m=_=>"!",
funcs = [a,b,c,d,e,f,g,h,i,j,k,l,m]
// do some magic with funcs to receive myDict
var myDict = {'a':'M', 'b':'e', 'c':'r', 'd':'y', ...}
我尝试了类似的方法,但没有成功。
var dict = funcs.reduce(function (acc, func) {
acc[func.name] = func();
return acc;
}, {});
我该如何解决这个问题以达到想要的结果?不使用reduce有更好的吗?
【问题讨论】:
-
acc[func.name] = func();调用函数;你只想要acc[func.name] = func;。
标签: javascript function object dictionary reduce