2014-03-04 88 views
1

我有一個Seq [文檔]。通過Seq映射到過濾

文獻具有VAL字段,它是這樣一個字符串,一個可以做

d.typ ---> which will be a String 

我想映射和在SEQ濾波器以產生僅那些文檔,其典型值字段等於新SEQ特定的字符串。到目前爲止,我有這樣的:

def getNewProducts(docs: Seq[Document]):Seq[Document] = { 

    docs.map(_.typ == "new-product") 

} 

我明白,我需要提供一個謂詞過濾器的地圖功能但不知道如何做到這一點。非常感謝,非常感謝。

+0

如果你真的需要'map'和'filter',那麼'collect'就是你想要的。它需要一個'PartialFunction'(通常匹配塊的部分函數文字)。過濾基於定義了部分函數的輸入,映射基於這些情況的結果。 –

+0

看起來你只想過濾,而不是地圖。映射意味着您將集合中的每個元素轉換爲不同的元素,以便獲得轉換元素的集合。 – Jesper

回答

1

尋找?

docs.filter(_.typ == "new-product")