我有一个场景,我正在对对象数组进行排序,并且需要根据 prop 的值将某些对象准确地维护在它们所在的位置。
所以目前我有,简短地说:
const sorted = accounts.sort((a, b) => {
if (a.locked) return;
if (b.locked) return;
return b.price - a.price;
}
显然,这并没有按预期工作 - 虽然它忽略了特定locked情况,但它也忽略了排序比较,因此如果a被锁定但b需要移动,b也会被忽略而不是正确移动。
我想到的唯一其他选择是标记哪些是locked,然后在排序后将它们移回它们应该在的位置 - 不认为这是理想的,我正在寻找一种更有效的方法来将对象保留locked在其精确位置放置在数组中,同时其他对象在其周围移动,如果可能的话?
凤凰求蛊
相关分类