2012-04-24 57 views
3

我有型號(列表項),我環路的名單在我的模板:從獲取關鍵For循環用List(不是地圖)

@for(item <- items) { 
    // ... 
} 

我想拿到鑰匙在itemsitem兩個原因/索引位置:

  1. 我會顯示類似Item n° @key
  2. 我想顯示僅1/2的項目(我想:if (@key % 2)

如何使用列表而不是地圖獲取密鑰/索引?

感謝您的幫助

回答

11

您可以壓縮其索引列表:它打印

@defining(List("foo", "bar", "baz")) { items => 
    @for((item, i) <- items.zipWithIndex if i % 2 == 0) { 
    @item no @i <br/> 
    } 
} 

foo no 0 
baz no 2 
4

您可以使用.zipWithIndex:

@for((item,i) <- items.zipWithIndex) { 
    // ... 
} 

指數可以從0開始的。

1

一種選擇是在循環中添加一個「計數器」。只需在循環之前聲明它爲var,將其初始化爲0,並在循環結束時遞增。

另一種選擇是在迭代之前在列表上使用zipWithIndex。然後,而不是獲得循環變量中的項目,您將實際上有一個元素組成的項目和其列表中的索引。