Maison >développement back-end >Golang >Comment parcourir des tableaux parallèles dans HTML/Modèle à l'aide de la fonction « index » ?

Comment parcourir des tableaux parallèles dans HTML/Modèle à l'aide de la fonction « index » ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-04 12:49:02270parcourir

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

Itération de tableaux parallèles dans HTML/Modèle à l'aide d'un index

De nombreux scénarios de développement impliquent de travailler avec des tableaux parallèles, où deux tableaux ou plus ont la même taille et leurs éléments doivent être accessibles de manière synchronisée. Comprendre comment parcourir ces tableaux parallèles devient crucial dans de telles situations.

Question :

Comment l'index dans un bloc de plage peut-il être utilisé pour parcourir des tableaux parallèles en HTML /Modèle ?

Tentative échouée :

Ce code ne parvient pas à obtenir le résultat souhaité :

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

Solution :

La clé du succès ici est d'exploiter la fonction d'index, une fonction de modèle global prédéfinie en HTML/Template. Il permet l'indexation du premier argument par les arguments suivants.

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.

Le code initial échoue car il ne tient pas compte de la réaffectation du point dans le bloc de plage. Pour accéder au point d'origine, nous pouvons utiliser une autre fonction de modèle prédéfinie :

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

Une version améliorée du code devient :

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

Approche alternative :

Envisagez une approche plus propre en définissant une fonction de modèle personnalisée appelée zip. Cette fonction prend plusieurs tranches en entrée et génère une tranche de paires, une pour chaque élément correspondant dans les tranches d'entrée. Il peut ensuite être utilisé dans le modèle pour simplifier le processus d'itération.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn