Abd*_*UMI 4 javascript arrays performance functional-programming
假设,我们有:
var all=[
{firstname:'Ahmed', age:12},
{firstname:'Saleh', children:5 }
{fullname: 'Xod BOD', children: 1}
];
Run Code Online (Sandbox Code Playgroud)
预期结果是['firstname','age', 'children', 'fullname']:该数组所有对象的键的并集:
all.map((e) => Object.keys(e) ).reduce((a,b)=>[...a,...b],[]);
Run Code Online (Sandbox Code Playgroud)
这工作正常,但是,我正在寻求使用直接reduce方法而不是提高性能的解决方案map,我执行了以下操作但失败了。
all.reduce((a,b) =>Object.assign([...Object.keys(a),...Object.keys(b)]),[])
Run Code Online (Sandbox Code Playgroud)
您可以使用Set,reduce()并且Object.keys()不需要地图。
var all=[
{firstname:'Ahmed', age:12},
{firstname:'Saleh', children:5 },
{fullname: 'Xod BOD', children: 1}
];
var result = [...new Set(all.reduce((r, e) => [...r, ...Object.keys(e)], []))];
console.log(result)Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1211 次 |
| 最近记录: |