このような構造を持つデータを持っています:
$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 ] };
出力には、入力からの各オブジェクトの各キーと等しいキーが必要です。出力値は、並べ替えられた一意の値を持つ配列である必要があります。ネストされたループを使用してそれを行う方法をいくつか見つけましたが、思ったよりも遅くなりました。オブジェクトごとに 8 つのキーを持つ入力配列に 30,000 の要素を使用すると、Chrome で 300 ミリ秒を達成できました。100msまで落としたい。map または reduce を使用したより高速な方法はありますか?