Array.sort()で使用するソート関数を作成しようとしています。でも、必要なものを正確に書く方法に少しこだわっています。
私のアプリでは、実行中のさまざまな時点でアイテムがこの配列に追加され、アイテムが追加されるたびに配列が並べ替えられます。配列内のアイテムはすべてオブジェクトであり、すべてプロパティ「weight」があります。重みが大きい場合はアイテムが最初に移動し、重みが小さい場合はアイテムが後に移動する必要があります。それは簡単で、次のような関数があります。
return a.weight - b.weight;
問題は、アイテムが後で追加され、それが別のアイテムと同じ重みを持つ場合、配列内のそのアイテムの後に配置する必要があるという追加の要件があることです。同じ重みを持つ、すでに追加されている配列内のすべてのアイテムの後ろに配置する必要があります。
毎回要件を満たしていることを確認する機能を思い付くのに苦労しています。
助けてくれてありがとう!