当前位置: 首页 > 知识库问答 >
问题:

如何高效地对对象数组进行逆序排序?

钱澄邈
2023-03-14

假设我有一个字典数组:

[ { "id": 2 }, { "id": 59 }, { "id": 31 } ... ]

我如何排序,使它是降序,按“id”排序

Loop through each element, find the biggest one, and put it into a new array. Then, remove that from the element. Repeat.

但我知道这是错误的,也不是有效的。

共有1个答案

澹台岳
2023-03-14

您可以使用Swift中的排序功能。类似这样的事情:

let arr = [["id": 2], ["id": 59], ["id": 31]]
let sortedArr = arr.sort { Int($0["id"]!) > Int($1["id"]!) }
 类似资料:
  • 我有INT数组 我也在寻找类似的问题,但我只发现了java.util.stream.stream .sorted()的大O复杂性,这一点也没有帮助,因为有两个不同的答案(第一个当然是部分错误的,因为arrays.sort并不总是O(n log n))。第二个呢?我还没找到证据。

  • 问题内容: 令我惊讶的是,以前没有提出过这个具体问题,但我的确没有在SO或文档中找到它。 假设我有一个包含整数的随机numpy数组,例如: 如果对它进行排序,则默认情况下我将获得升序: 但我希望解决方案按 降序 排序。 现在,我知道我可以永远做: 但这最后的陈述 有效 吗?它不是按升序创建副本,然后反转此副本以反转顺序获得结果吗?如果确实如此,是否有有效的选择?看起来好像不接受参数来更改排序操作中

  • 问题内容: 我的数组不包含任何字符串。但是它包含对象引用。每个对象引用都通过toString方法返回名称,id,作者和发布者。 现在,我需要按名称对对象数组进行排序。我知道如何排序,但是我不知道如何从对象中提取名称并对它们进行排序。 问题答案: 你有两种方法可以使用Arrays实用程序类 实现一个Comparator并将数组与比较器一起传递给sort方法,该方法将其作为第二个参数。 在对象所属的类

  • 问题内容: 如何按其字段之一(例如或)对对象数组进行排序? 问题答案: 使用usort,这是从手册改编而成的示例: 您还可以将任何callable用作第二个参数。这里有些例子: 使用匿名函数(来自PHP 5.3) 从班级内部 使用箭头函数(来自PHP 7.4) 另外,如果要比较数字值,则应使用“比较”功能。

  • 我在下面有下面的Java代码,我正在尝试将其转换为Swift。如果有人能在这个问题上帮助我,我将非常感激。 谢谢

  • 问题内容: 我有一个对象数组: 如何获得按属性名称升序排列的数组? 我尝试这样做:,但这不起作用。 请帮我! 编辑:数组可以包含两个以上的对象!它可以包含数百个。 编辑: 为什么在“重复的”问题问了两年之前,这个问题为什么被标记为重复? 问题答案: