我有以下类型的有序序列:
type Comparison<'a when 'a :> IKey > = {Id: string; src: 'a; dest: 'a}
我想要做的是有多个具有相同
Id
的记录,只为每个 id 获取序列中的最新记录(该序列是从有序查询结果中生成的)以及 Id 所在的记录不与其他记录共享。F#中是否有一种方法可以以这种方式生成新序列?
最佳答案
怎么样:
items
|> Seq.groupBy (fun x -> x.Id)
|> Seq.map (snd >> Seq.last)
这将项目分组为一系列元组,其中第一项是 ID,第二项是具有该 ID 的元素序列。
然后映射将 Seq.last 应用于这些元组的第二个元素。
关于f# - 按属性过滤记录类型序列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40845925/