【发布时间】:2016-10-21 19:28:44
【问题描述】:
假设,我们有:
var all=[
{firstname:'Ahmed', age:12},
{firstname:'Saleh', children:5 }
{fullname: 'Xod BOD', children: 1}
];
预期结果是['firstname','age', 'children', 'fullname']:该数组所有对象的键的联合:
all.map((e) => Object.keys(e) ).reduce((a,b)=>[...a,...b],[]);
这很好,但是,我正在寻求一个解决方案,使用直接使用 reduce 方法而不使用 map 的性能更高,我做了以下操作,但失败了。
all.reduce((a,b) =>Object.assign([...Object.keys(a),...Object.keys(b)]),[])
【问题讨论】:
-
在codereview 上发布可能更好,但
Object.keys(Object.assign({}, ...all))是一种选择。我对性能一无所知。
标签: javascript arrays performance functional-programming