有具有这种结构的数据:
$input = [ { animal: 'cat', name: 'Rocky', value: 1 },
{ animal: 'cat', name: 'Spot', value: 2 },
{ animal: 'dog', name: 'Spot', value: 3 } ];
需要最快的方法来转换为这种格式:
$output = { animal: [ 'cat', 'dog' ],
name: [ 'Rocky', 'Spot' ],
value: [ 1, 2, 3 ] };
输出的键应该等于输入中每个对象中的每个键。并且输出值应该是具有排序唯一值的数组。我找到了几种使用嵌套循环的方法,但比我想要的要慢。输入数组有 30,000 个元素,每个对象有 8 个键,我能做的最好的事情是 Chrome 中的 300 毫秒。想降到100ms。有没有更快的方法使用 map 或 reduce?