问题标签 [custom-sort]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
2468 浏览

php - 按具有自定义排序优先级的列对数组进行排序(不按字母顺序)

假设我有这个数组:

现在我一直在尝试做的是使用 php 排序函数能够根据特定规则(不是字母顺序)对其进行排序

客户希望此信息按“狮子第一,狗第二,斑马第三,猫第四”排序。

像这样的东西:

该数组将使用“动物”值进行排序,并将基于预先确定的规则。

我试图找出 php 排序函数,但我只能让这些函数按字母或数字对数组进行排序。

我开始工作的是一个 if 语句和循环块,我想尽快摆脱那些缓慢的代码。

0 投票
2 回答
55 浏览

javascript - 如何使用 JavaScript 排序对多列进行排序?

我有以下数组,需要根据搜索文本“John”进行排序。

预期输出:

数组应首先使用 nickName(带有搜索文本)排序,然后是 lastName(带有搜索文本)。如果 nickName 不存在,那么它应该按照 ASC 排序顺序相对于 firstName(带有搜索文本)进行排序。注意:它应该将搜索文本单词视为“约翰”

这种排序类似于在您的手机联系人应用程序中使用排序进行搜索

我试过 localeMethod

但结果是在排序时没有考虑搜索文本。我可以看到一种方法是创建三个不同的数组并对它们进行排序并组合这些排序的数组任何帮助将不胜感激。

编辑:不考虑具有搜索文本值的不匹配对象

0 投票
1 回答
461 浏览

laravel - laravel 雄辩的查询 when() 是否有等效的 switch-case ?

我只是好奇是否有等效于when()查询的 switch-case

我希望这段代码默认使用 when() (如果没有使用“when”)

0 投票
2 回答
635 浏览

python - 在python中使用自定义比较器函数进行排序

我有一个列表 L = [['92', '022'], ['77', '13'], ['82', '12']]

想要将第二个元素作为键进行排序:['022','13','12']

必须自定义函数以进行数字排序和字典排序。但没有得到想要的输出......

对于数字排序输出,例如: [['82', '12'],['77', '13'],['92', '022']]

用于按字典顺序排序输出,例如: [['92', '022'],['82', '12'], ['77', '13']]

0 投票
0 回答
294 浏览

sorting - Kotlin 在 Map 上自定义排序

我有这个对象 Map<String, List> 的地图。它来自后端,我想在 Key 上对其进行排序。

关键将是以下任何一个:支票,储蓄,信用,贷款。

我想按此顺序对地图进行排序。

这是我的代码,它没有按预期工作。

这是我对地图进行排序的方式:

使用这个逻辑,它按 CREDIT、CHECKING、LOAN、SAVINGS 的顺序打印,我想要按 CHECKING、SAVINGS、CREDIT、LOAN 的顺序打印。

我应该如何实现这一目标?

0 投票
0 回答
19 浏览

arrays - Mongo查询最新版本条目

我试图从 Mongo 中获取“组”的每一个最新条目。

您可以像一组 wiki 条目一样对数据进行映像:

  • 每个条目都可以编辑(并保留旧版本)。
  • 我们对最新版本的条目感兴趣。
  • 条目(及其祖先)按一定的逻辑排序。

要了解更多详细信息:

  • 每个条目都由一个标识itemId
  • 每个都itemId可以在数据集中出现 1 到 n 次
  • 条目版本按orderHash

在这里你可以看到一小批数据:

我使用以下聚合管道来获得我想要的结果:

到目前为止,这是有效的。但是将数据存储在一个额外的数组中感觉不对,而且我不确定性能(尤其是对于具有大量编辑的较大数据集)。另一个缺陷是我不是简单地返回一组文档,而是将数据嵌套在文档属性中resp(这对于例如猫鼬来说是不好的)。

我的问题有更多的 mongo-nic 解决方案吗?

解决方案:

感谢乔(见评论)。他向我指出了解决方案。

0 投票
1 回答
85 浏览

python - python:自定义排序:不是纯粹的字典顺序,而是反向和最短的共同优先

背景

我想反向排序但不严格按字典顺序排序,然后它变得更加奇怪..:P

原因是专有软件完全按照我在此处描述的方式解析目录,并且我想复制该行为。

要求(按此顺序)

  1. 两者:python2和python3兼容
  2. 反向词典
  3. 最短公共优先

示例数据

以下是该 python 脚本的(随机排序的)输入数据示例:

它应该是什么样子

我将它存储在一个列表中,并且需要对其进行排序,使其看起来像这样:

代码

根据我的理解sort()并且sorted()是按字典顺序排序的稳定函数。但是由于我需要满足上述所有要求,所以我被困在了 atm ..

问题是sort()+reverse=True单独是不够的,因为它不满足上述要求 3(最短优先):

我玩过groupby按长度排序,但我一无所获(我的 python kl 没那么深).. :(

我想对于具有良好 python 知识的人来说,这非常容易做到。任何帮助表示赞赏!

0 投票
0 回答
77 浏览

sorting - ag grid react 比较器 - 对具有日期时间和字符串文字的列进行自定义排序

我正在尝试对具有日期时间和字符串文字的 ag 网格反应列进行排序。网格 api 数据如下所示:

export const TableData = [ { id: 9890987, createdBy: "john", updatedBy: "john", scriptType: "new", scriptName: "XYZ", scheduleType: "ONCE", nextRunTime: "Never", lastRunTime: "11/10/2009 15:43:17", lastStatus: "Passed", lastError: "" }, { id: 9891287, createdBy: "Ela", updatedBy: "Ela", scriptType: "new2", scriptName: "XYZ", scheduleType: "HOURLY", nextRunTime: "Never", lastRunTime: "11/10/2014 14:42:17", lastStatus: "Passed", lastError: "" }, { id: 6660987, createdBy: "Mandy", updatedBy: "Mandy", scriptType: "new3", scriptName: "UYT", scheduleType: "MONTHLY", nextRunTime: "Never", lastRunTime: "Never", lastStatus: "Passed", lastError: "" } ] 使用 ag-grid 的比较器属性对 lastRunTime 和 nextRunTime 列进行排序,如下所示,不会以正确的升序或降序排序日期时间:

columnDef = [ { headerName: 'Next Run Time', field: 'nextRunTime', width: 150, comparator: (date1, date2)=> new Date(date1) < new Date(date2) ? -1 : 1 }, { headerName: 'Last Run Time', field: 'lastRunTime', width: 150, comparator: (date1, date2)=> new Date(date1) < new Date(date2) ? -1 : 1 } ]

在这种情况下,可以使用什么比较器算法来启用日期时间排序?

0 投票
2 回答
24 浏览

sql - Oracle SQL - 自定义排序

我有一个场景,我有以下数据:

表:位置

我想以一种方式排序,所有以“0000”结尾的 ID 应该首先排序,然后是类型“仓库”,然后是其余的商店。

所需的输出应该像

我该如何进行这种自定义排序?

0 投票
4 回答
58 浏览

sql - SQL Server自定义排序,同时按最大总和分组

我有 3 列 ( Year, Number, SUM(Amount)),我正在尝试按金额的最大总和对它们进行排序。

这不是我想要实现的排序。我想按他们的 id_number 将它们分组在一起,但按返回的所有年份的最大数量排序。我猜我可能需要写一个案例陈述,但我还没有弄清楚。如果我这样做,我会更新。在我为这个问题绞尽脑汁之前,我也想寻求帮助。

非常感谢您提前。