Abd*_*UMI 4 javascript arrays performance functional-programming
假设,我们有:
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)]),[])
您可以使用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)