首页  >  文章  >  后端开发  >  如何使用“index”函数遍历 HTML/模板中的并行数组?

如何使用“index”函数遍历 HTML/模板中的并行数组?

Barbara Streisand
Barbara Streisand原创
2024-11-04 12:49:02160浏览

How to Iterate Through Parallel Arrays in HTML/Template using the `index` Function?

使用索引迭代 HTML/模板中的并行数组

许多开发场景都涉及使用并行数组,其中两个或多个数组具有相同的大小,并且它们的元素应该是以同步方式访问。在这种情况下,了解如何迭代这些并行数组变得至关重要。

问题:

如何使用范围块内的索引来迭代 HTML 中的并行数组/Template?

尝试失败:

此代码未能达到预期结果:

{{range $i, $e := .First}}$e - {{index .Second $i}}{{end}}

解决方案:

这里成功的关键是利用索引函数,这是 HTML/Template 中预定义的全局模板函数。它允许通过后续参数对第一个参数进行索引。

index   Returns the result of indexing its first argument by the following arguments. Thus index x 1 2 3 is, in Go syntax, x[1][2][3]. Each indexed item must be a map, slice, or array.

初始代码失败,因为它没有考虑范围块内点的重新分配。要访问原始点,我们可以利用另一个预定义的模板函数:

When execution begins, $ is set to the data argument passed to Execute, that is, to the starting value of dot.

代码的改进版本变为:

{{range $i, $e := .First}}$e - {{index $.Second $i}}{{end}}

替代方法:

考虑一种更简洁的方法,定义一个名为 zip 的自定义模板函数。该函数将多个切片作为输入并生成一个成对的切片,一个对应于输入切片中的每个对应元素。然后可以在模板中使用它来简化迭代过程。

以上是如何使用“index”函数遍历 HTML/模板中的并行数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn