Maison >développement back-end >Golang >Comment accéder aux éléments de tableaux parallèles à l'aide de l'index dans la plage en HTML/Modèle ?

Comment accéder aux éléments de tableaux parallèles à l'aide de l'index dans la plage en HTML/Modèle ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-04 12:44:301039parcourir

How to Access Elements from Parallel Arrays Using Index Within Range in HTML/Template?

Comment parcourir des tableaux parallèles à l'aide d'un index dans une plage en HTML/Template

En HTML/Template, en utilisant la construction de plage avec le La fonction index permet de parcourir plusieurs tableaux en parallèle. Cependant, un piège courant se produit lorsque vous tentez d'accéder aux éléments d'un tableau à l'aide de l'index dans le bloc range.

Considérez le code suivant :

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

Ce code tente de parcourir les tableaux. .Premier et .Deuxième en parallèle. Cependant, cela ne fonctionne pas correctement car la variable point (.) dans le bloc de plage a été réaffectée à la valeur .First. Pour résoudre ce problème, nous devons accéder à la variable point d'origine, qui représente l'ensemble des données.

La fonction d'index prend le premier argument comme tableau à indexer et les arguments suivants comme valeurs d'index. Par conséquent, nous pouvons modifier le code comme suit :

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

Ici, $ représente la variable point d'origine, qui contient l'argument data passé à Execute. En utilisant $, nous pouvons accéder aux éléments de .Second en utilisant l'index $i.

Alternativement, une approche plus propre consiste à créer une fonction de modèle appelée zip qui accepte plusieurs tranches et renvoie une tranche de chaque paire de valeurs. . Cela élimine le besoin d'une indexation complexe dans le modèle et améliore la lisibilité du code.

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