バックグラウンド
JavaScriptを使用して、そのオブジェクトの特定のプロパティに基づいて大きなJSONオブジェクトを並べ替える必要があります。 マージソートが最速のアプローチだと思います。これが最速のアプローチではない場合は、それが何であるかを教えてください。配列に対するマージソートのオンラインの例は無数にありますが、オブジェクトの例はほとんどありません。サンプルオブジェクトは次のとおりです。
fruitForSale = {
1: {"type":"orange","UnitPrice":0.20},
2: {"type":"banana","UnitPrice":0.30},
3: {"type":"pear","UnitPrice":0.10},
4: {"type":"apple","UnitPrice":0.50},
5: {"type":"peach","UnitPrice":0.70}
}
質問
fruitForSale
マージソート(またはより高速なアルゴリズム)を使用して、オブジェクトを「タイプ」でソートされたオブジェクトになるようにどのようにソートしますか?
fruitForSale = {
4: {"type":"apple","UnitPrice":0.50},
2: {"type":"banana","UnitPrice":0.30},
1: {"type":"orange","UnitPrice":0.20},
5: {"type":"peach","UnitPrice":0.70},
3: {"type":"pear","UnitPrice":0.10}
}
注:元のkeys
(1、2、3、4、5)はそれぞれのオブジェクトに割り当てられたままである必要があるため、のキーは1
常にと一致する必要が{"type":"orange","UnitPrice":0.20}
あり、のキー2
は常にと一致するという{"type":"banana","UnitPrice":0.30}
ようになります。
ありがとう!