【发布时间】:2021-06-15 23:33:59
【问题描述】:
我有一组代表一些资金数据的对象。每个对象都有一个键名“type”,即 c 或 e。我需要返回一个表格,确保行的顺序遵循以下模式:c row => e row => c row => e row... etc.
数据通过 ID 以 desc 顺序返回,如果有原始数据集,则可以删除它们
[{type: 'c', id: 1}, {type: 'e', id: 2}, {type: 'c', id: 3}, {type: 'e', id: 4}]
我们删除第一个 {type: 'e', id: 2} 我希望表格显示
[{type: 'c', id: 1}, {type: 'e', id: 4}, {type: 'c', id: 3}]
不是
[{type: 'c', id: 1}, {type: 'c', id: 3}, {type: 'e', id: 4}]
有没有办法在这里使用 javascript 的 sort() 或者我需要编写一个自定义的排序函数,如果是,那会是什么样子?
【问题讨论】:
-
这不是您可以轻松排序的东西,因为没有很好的比较来定义您的模式。这取决于绝对定位。
-
你的问题不清楚:
{type: 'e', id: 2}和{type: '3', id: 4}是什么关系。 -
type: '3'是什么意思?为什么你回来后不回答我之前的问题? -
@MisterJojo 这是一种类型。现已修复。
-
第一个元素
e应该被更改,因为第二个元素e的id具有更高的值,如果该值更低,则保持不变?即使起始数组包含 5 个或更多元素(c、e、c、e、c),最终数组也只能包含 3 个元素(c、e、c)。前2(c)永远不能改变?即使以下(c)具有更高的ID?逻辑在哪里?
标签: javascript sorting