我正在尝试编写一个与 Array.sort() 一起使用的排序函数。我有点坚持我如何才能准确地写出我需要的东西。
在我的应用程序中,项目在整个执行过程中的不同时间被添加到这个数组中,每次添加一个项目时,数组都会被排序。Array 中的项目都是对象,并且都具有“权重”属性。如果重量较大,则该项目应先行,如果重量较小,则该项目应在后。这很容易,我有一个看起来像这样的函数:
return a.weight - b.weight;
问题是我有一个附加要求,如果稍后添加一个项目并且它与另一个项目具有相同的重量,则必须将它放在数组中该项目之后。它必须位于数组中已添加且具有相同权重的每个项目的后面。
我无法想出一个确保每次都满足要求的功能。
谢谢您的帮助!