"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como iterar matrizes paralelas em modelos HTML usando a função `index`?

Como iterar matrizes paralelas em modelos HTML usando a função `index`?

Publicado em 2024-11-18
Navegar:554

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

Como iterar sobre matrizes paralelas em modelos HTML usando índice

Este artigo aborda a dificuldade de iterar através de matrizes paralelas (de tamanho igual) em modelos HTML. Especificamente, como utilizar a função de índice dentro do bloco de intervalo para conseguir isso.

A função de índice é uma função de modelo global predefinida que recupera um item de um mapa, fatia ou matriz com base no índice fornecido. Esta função permite uma navegação complexa dentro de estruturas de dados dentro de modelos.

No contexto de iteração através de matrizes paralelas, precisamos estar atentos ao contexto em que a função de índice é usada. Por padrão, o ponto (${}) dentro do bloco range refere-se ao elemento atual no array que está sendo iterado. Porém, para acessar os dados do outro array, precisamos reverter para o ponto original, que representa o argumento de dados passado para a função Execute.

A solução, portanto, é usar o ponto original ($) em vez de ponto na expressão de índice:

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

Este ajuste garante que a função de índice faça referência ao argumento de dados original, permitindo a iteração paralela sobre as matrizes.

Outra abordagem para resolver esse problema é definir uma função de modelo personalizada chamada zip, que aceita várias fatias como entrada e retorna uma fatia de pares de valores. tal função simplificaria o código do modelo e talvez fosse reutilizada em outros contextos.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3