3

我有一个模型列表(列表项),我在模板中循环:

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

我想获得 in 的键/索引位置有item两个items原因:

  1. 我会展示类似的东西Item n° @key
  2. 我只想显示 1/2 项(我想if (@key % 2):)

如果使用 List 而不是 Map 如何获取键/索引?

谢谢你的帮助

4

3 回答 3

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 
于 2012-04-24T14:11:52.087 回答
4

您可以使用 .zipWithIndex:

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

索引将从 0 开始。

于 2012-04-24T14:08:31.847 回答
1

一种选择是在循环中添加一个“计数器”。只需在循环之前将其声明为 var,将其初始化为 0,并在循环结束时将其递增。

另一种选择是在迭代之前在列表中使用 zipWithIndex。然后,您实际上将拥有一个由项目及其在列表中的索引组成的元组,而不是获取循环变量中的项目。

于 2012-04-24T14:08:38.873 回答