我正在嘗試過濾一個嵌套的Seq集合。
目的是遍歷myList Seq集合,同時識別Seq集合中所有國家為 "UK "且其banner具有width和height值的 "Campaigns",這些值由以下引數h和w定義。
c定義了國家過濾引數。
到目前為止,我下面的過濾代碼給了我一個錯誤:
錯誤:值height不是List[Banner]的成員
。
val filteredList = myList.filter(c=> ((c.country == c) && (c.banners.height ==h) & & (c.banners.width == w))
預先感謝!
val h = 250 //高度過濾
val w = 300 //寬度過濾器
val c = "UK" // country filter
Seq集合的例子:
case class Campaign(id。Int, country: String, targeting: Targeting, banners: List[Banner], bid: Double)。
case class Targeting(targetedSiteIds: Seq[String])
case class Banner(id。Int, src: String, width: Int, height: Int)
val myList = Seq(
Campaign( // Campaign 1)
id=1,
country="LT",
targeting =Targeting(
targetedSiteIds=Seq("0006a522ce0f4bbbbaa6b3c38cafaa0f") // TargetedSiteIds)
),
banners = List(
Banner(
id = 1,
src = "https://business.eskimi.com/wp-content/uploads/2020/06/openGraph.jpeg", //URL源。
寬度 = 100,
高度=200。
)
),
出價 = 5d
),
Campaign( // Campaign 2)
id=1,
country="UK",
targeting =Targeting(
targetedSiteIds=Seq("0006a522ce0f4bbbbaa6b3c38cafaa0f") // TargetedSiteIds)
),
banners = List(
Banner(
id = 1,
src = "https://business.eskimi.com/wp-content/uploads/2020/06/openGraph.jpeg", //URL源。
寬度 = 300,
高度=2505d
)
)
val filteredList = myList.filter(c=> ( (c.country == c) && (c.banners.height ==h) && (c.banners.width == w))
uj5u.com熱心網友回復:
val filteredList =
myList.filter(c => c.country == "UK" & &
c.banners.existence(_.height == 250) &&
c.banners.existence(_.width == 300)
或者,可能更正確。
val filteredList =
myList.filter(c => c.country == "UK" & &
c.banners.existence(b => b.height == 250 &&
b.width == 300)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/326147.html
標籤:
下一篇:Json物件到撇號陣列
