«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как перебирать параллельные массивы в шаблонах HTML с помощью функции index?

Как перебирать параллельные массивы в шаблонах HTML с помощью функции index?

Опубликовано 18 ноября 2024 г.
Просматривать:987

How to Iterate Over Parallel Arrays in HTML Templates Using the `index` Function?

Как перебирать параллельные массивы в HTML-шаблонах с использованием индекса

В этой статье рассматриваются трудности перебора параллельных массивов (одинакового размера) в HTML-шаблонах. В частности, как использовать функцию индекса в блоке диапазона для достижения этой цели.

Функция индекса — это предопределенная глобальная шаблонная функция, которая извлекает элемент из карты, среза или массива на основе предоставленного индекса. Эта функция обеспечивает сложную навигацию внутри структур данных внутри шаблонов.

В контексте итерации по параллельным массивам нам необходимо помнить о контексте, в котором используется индексная функция. По умолчанию точка (${}) в блоке диапазона относится к текущему элементу в итерируемом массиве. Однако для доступа к данным из другого массива нам нужно вернуться к исходной точке, которая представляет аргумент данных, переданный в функцию Execute.

Поэтому решение состоит в том, чтобы использовать исходную точку ($). вместо точки в индексном выражении:

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

Эта настройка гарантирует, что индексная функция ссылается на исходный аргумент данных, что позволяет выполнять параллельную итерацию по массивам.

Другой подход к решению этой проблемы заключается в определении пользовательской функции шаблона под названием zip, которая принимает несколько срезов в качестве входных данных и возвращает срез пар значений. такая функция упростила бы код шаблона и, возможно, ее можно было бы повторно использовать в других контекстах.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3