4
好吧,讓我迷失在這一張上。我有一個對象列表。每個對象都是一個非唯一的ID。我想對這個ID進行分組,但是對於我的生活,我無法弄清楚如何做到這一點。將列表分組到F#列表中的列表中
這是我
type fooObject = {
Id : int
Info : string
}
let fooObjects: fooObject list
數據可能是這個樣子
[ { Id = 1 ; Data = "foo" } ; { Id = 1 ; Data = "also foo" } ; { Id = 2 ; Data = "Not foo" } ]
我想是這樣
let fooObjectsGroupedById : fooObject list list
所以最後的結果是這樣的
[ [{ Id = 1 ; Data = "foo" } ; { Id = 1 ; Data = "also foo" } ] ; [{ Id = 2 ; Data = "Not foo" }]]
感謝您的回答。什麼是snd? –
'snd'被使用是因爲'groupBy'返回一個元組列表,其中第一個元素是分組鍵(在你的情況下是Id值),第二個元組元素是所有匹配的列表。函數['snd'](https://msdn.microsoft.com/en-us/visualfsharpdocs/conceptual/operators.snd%5B't1,'t2%5D-function-%5Bfsharp%5D)將第二項來自一個元組 –
真棒謝謝你。 –