问题标签 [custom-compare]

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 投票
2 回答
7254 浏览

linq - 与自定义比较器不同的 LinQ 会留下重复项

我有以下课程:

我正在使用以下 linq 查询:

但是 distinct 并没有做我想做的事情,如以下代码所示:

我是否以错误的方式使用它?为什么他们没有按照我的意图进行比较?

编辑:为了证明比较器确实有效,以下返回 true,因为它应该:

0 投票
2 回答
5077 浏览

iphone - iPhone联系人应用程序样式的索引表视图实现

我的要求: 我有这个直截了当的要求,即在索引表视图中按字母顺序列出人员姓名,索引标题是字母的起始字母(另外还有顶部的搜索图标和 # 以显示以数字开头的杂项值和其他特殊字符)。

到目前为止我所做的: 1. 我正在使用核心数据进行存储,并且“last_name”被建模为联系人实体中的字符串属性 2.我正在使用 NSFetchedResultsController 来显示已排序的索引表视图。

完成我的要求的问题: 1. 首先,我无法让章节索引标题成为字母的第一个字母。戴夫在以下帖子中的建议帮助我实现了同样的目标:NSFetchedResultsController with section created by the first letter of a string

我在 Dave 的建议中遇到的唯一问题是我无法将 misc 命名为分组在“#”索引下。

我尝试过: 1. 我尝试向 NSString(类别)添加自定义比较方法以检查比较和部分是如何进行的,但是在 NSSortDescriptor 选择器中指定时不会调用该自定义方法。

这是一些代码:

获取数据的代码:

您能否让我知道我缺少什么以及如何完成要求?

0 投票
3 回答
270 浏览

c# - 字符串的自定义比较器是否应该允许空值

我正在查看其他人的代码,用于比较字符串的自定义比较器。

我注意到如果至少有一个字符串参数为空,它会翻倒。

比较根据比较结果返回 -1、0 或 1。

是否应该修复这样的代码来处理空值,如果是这样,如果其中一个参数为空,它应该返回什么?

0 投票
1 回答
75 浏览

c++ - 使用相同的函数对向量进行排序和自定义比较器

这听起来像是一个愚蠢的问题,但我想了很长时间,有没有更好的方法:

如您所见,我两次实现了相同的功能,一次用于排序,一次用于集合中的隐式排序。有没有办法避免代码重复?

0 投票
2 回答
1266 浏览

javascript - 如何忽略“-”和“。” 排序比较期间值中的字符?

我有一个 html 页面,其中有一个可以排序的字段。我还创建了一个 javascript 函数,可以按顺序对该字段进行排序。让我们假设 p_cSort 是该字段的“id”名称。

但是,当我有像

我在我的搜索页面上搜索它们。返回的结果是

我怎样才能忽略字符“。” 和“-”排序时?

所以我正在寻找的结果应该是:

0 投票
1 回答
1426 浏览

c++ - c++ std::find 自定义比较器不起作用

我现在正在学习如何将 std::find 与自定义比较器一起使用。

但是,按照在线指导,我面临编译器错误。

链接到我的代码

下面是我的代码:

错误如下:

提前谢谢了。

0 投票
0 回答
52 浏览

c++ - 使用 C++ 对映射按其值中的元素进行排序

如何为具有此类属性的地图编写自定义排序-

我想排序

但我不知道如何定义这个 myfn() 以便它使用 map ( el.second.second) 的值对中的第二个元素对 map 进行排序。

0 投票
1 回答
818 浏览

c++ - 将自定义比较器重载到 std::map

我正在尝试解决这个问题。我想出了这个解决方案:

很明显,这无法编译:StockTicker::stocksDict不是静态成员。现在我不能这样做,因为我可能需要StockTicker该类的多个实例。

std::map使用严格的比较器函数参数定义(std::map只会传入要比较的键),所以我不能重载它来传递对当前StockTicker类实例的引用(我可以用来StockTicker::stocksDict通过 public访问吸气剂)

我从这个 SO question随后的答案中获得了灵感:

这也不会编译。我在and方法 中遇到这种错误: .StockTicker::addOrUpdate()StockTicker::top()error: '((StockTicker*)this)->StockTicker::stocksTicker' does not have class type

我也尝试了很多其他的东西(比如在StockTicker类本身中声明一个公共比较器方法并尝试将它的函数指针传递给std::map. 那也失败了;StockTicker::stocksTicker在比较器方法之前声明并且编译器抱怨)。

关于如何解决这个问题的任何想法?

0 投票
1 回答
11592 浏览

c# - 如何对treeView的子节点进行排序

我想按字母顺序对给定的 TreeView 子节点进行排序。

假设我的树视图是这样的:

  • 第一个节点1

    • 第二节点1
    • 第三节点1
    • 第三节点2
    • 第三节点3 ...
  • 第一个节点2

    • 第二节点1
    • 第三节点1
    • 第三节点2
    • 第三节点3 ...

我想对每个 firstNode 的 secondNodes 中的节点进行排序。

我该怎么做?- 我对自定义比较器有疑问,但不明白如何在我的情况下使用它。

0 投票
1 回答
895 浏览

java - Java优先级队列的自定义比较器

我正在尝试根据自定义对优先级队列进行排序,Comparators但它会引发错误:

优先级队列用于对自定义类对象进行排序;我正在尝试使用不同的比较器对优先级队列进行多次排序。

我试图执行的代码: