如何过滤偶数和奇数元素?

How to filter even and odd elements?

{{ if eq ($key % 2) 0 }} 给出:操作数中出现意外的“%”

{{ if $key % 2 == 0 }} 给出:操作数

中出现意外的“%”

那么如何找到偶数键和奇数键?

Hugo 有数学函数

首先找到提醒而不是在 if 子句中检查它 两个整数的模可以用 mod $number 2

找到
        {{- $reminder := mod $key  2 }}
        {{ if eq $reminder  0 }}
          <p >{{- $value.name -}}</p>
        {{ else }}
          <p>{{- $value.name -}}</p>
        {{ end }}

切换布尔变量以检测范围内的奇数和偶数元素。

 {{- $odd := false}}
 {{range .}}
    {{$odd = not $odd}}
    {{if $odd}}odd:  {{else}}even: {{end}}{{.}}
 {{end}}

Run an example on the playground.

第一次迭代被认为是奇数。使用 $odd := true 初始化以使第一次迭代均匀。

这种方法适用于任何上下文中的 Go 模板(不仅仅是 Hugo)。这种方法在地图上测距时也适用。