【发布时间】:2016-03-02 19:55:55
【问题描述】:
在 ES5 中,我知道可以通过以下方式使用 forEach 循环将方法分配给对象:
var myMethods = [
{
name: 'start',
src: someFn
},
{
name: 'stop',
src: someOtherFn
}
];
var myObject = {};
myMethods.forEach(function(method) {
myObject[method.name] = method.src;
});
在 ES2015(或 ES6)中,是否可以在创建对象的同时定义这些方法?以下是我可能期望它如何工作的示例:
// example
const myObject = {
[...myMethods.map((method) => method.name)]: [...myMethods.map(method) => method.src)]
}
最终结果如下所示:
const myObject = {
start: someFn,
stop: someOtherFn
}
如果有一种方法可以遍历这些方法并将它们分配给myObject,我会很高兴地重组myMethods 数组,以便实现这一点。
最终目标是能够在外部模块中分配这些方法中的每一个,而不必重复定义。
【问题讨论】:
标签: javascript arrays object ecmascript-6