3

テンプレートでループするモデル (リスト項目) のリストがあります。

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

のキー/インデックス位置を取得したいのはitemitems次の 2 つの理由からです。

  1. 私は次のようなものを示しますItem n° @key
  2. 1/2 のアイテムだけを表示したいのですが (たぶん : if (@key % 2))

Map ではなく List を使用している場合、キー/インデックスを取得するにはどうすればよいですか?

ご協力いただきありがとうございます

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

1 つのオプションは、ループに「カウンター」を追加することです。ループの前に var として宣言し、0 に初期化し、ループの最後でインクリメントするだけです。

もう 1 つのオプションは、リストを反復処理する前にリストで zipWithIndex を使用することです。次に、ループ変数で項目を取得する代わりに、項目とリスト内のそのインデックスで構成されるタプルを実際に取得します。

于 2012-04-24T14:08:38.873 に答える