【发布时间】:2020-11-25 09:03:18
【问题描述】:
我有一个对象数组,每个对象可以有一个order 属性。现在我想通过更新一个对象的订单号来重新排序这个数组。然后应该更新它的兄弟姐妹,以便它的顺序再次有意义。
基地:
- 01:没有订单
- 02:订单 4
- 03:订单 2
- 04:无顺序
如果04得到固定位置2的步骤:
- 01:订单 0
- 02:订单 4
- 03:订单 2
- 04:无顺序
- 01:订单 0
- 03:订单 2
- 04:无顺序
- 02:订单 4
- 01:订单 0
- 03:订单 1
- 04:无顺序
- 02:订单 4
- 01:订单 0
- 03:订单 1
- 04:订单 2
- 02:订单 4
- 01:订单 0
- 03:订单 1
- 04:订单 2
- 02:订单 3
当04 获得1 的固定位置时,02 将位于同一索引上,因此由于04 是固定的02 获取04 旧索引或当前+ 1。
【问题讨论】:
-
你如何决定
03是被推到订单 1 还是被推到订单 3?您如何决定对具有no order的元素进行排序? -
听起来像是普通的按键排序,还是我错过了什么? stackoverflow.com/q/8837454/5520354
-
@JannesCarpentier 基于他们的索引。 02 被移到末尾,因此 03 得到索引 1 和 04 索引 2。
-
否 @C14L,因为我想更新所有兄弟姐妹的 order 属性并将 04 的索引保持在 2。
标签: javascript arrays sorting object