Heim > Artikel > Backend-Entwicklung > Wie iteriere ich mit der Funktion „index“ durch parallele Arrays in HTML/Vorlage?
Viele Entwicklungsszenarien beinhalten die Arbeit mit parallelen Arrays, wobei zwei oder mehr Arrays die gleiche Größe haben und ihre Elemente auch sein sollten auf die synchronisiert zugegriffen wird. In solchen Situationen ist es von entscheidender Bedeutung, zu verstehen, wie diese parallelen Arrays durchlaufen werden.
Frage:
Wie kann der Index innerhalb eines Bereichsblocks zum Durchlaufen paralleler Arrays in HTML verwendet werden? /Template?
Fehlgeschlagener Versuch:
Dieser Code erzielt nicht das gewünschte Ergebnis:
{{range $i, $e := .First}}$e - {{index .Second $i}}{{end}}
Lösung:
Der Schlüssel zum Erfolg liegt hier in der Nutzung der Indexfunktion, einer vordefinierten globalen Vorlagenfunktion in HTML/Template. Es ermöglicht die Indizierung des ersten Arguments durch nachfolgende Argumente.
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.
Der ursprüngliche Code schlägt fehl, da er die Neuzuweisung von Punkten innerhalb des Bereichsblocks nicht berücksichtigt. Um auf den ursprünglichen Punkt zuzugreifen, können wir eine andere vordefinierte Vorlagenfunktion verwenden:
When execution begins, $ is set to the data argument passed to Execute, that is, to the starting value of dot.
Eine verbesserte Version des Codes wird:
{{range $i, $e := .First}}$e - {{index $.Second $i}}{{end}}
Alternativer Ansatz:
Erwägen Sie einen saubereren Ansatz, indem Sie eine benutzerdefinierte Vorlagenfunktion namens zip definieren. Diese Funktion verwendet mehrere Slices als Eingabe und generiert ein Slice-Paar, eines für jedes entsprechende Element in den Eingabe-Slices. Es kann dann in der Vorlage verwendet werden, um den Iterationsprozess zu vereinfachen.
Das obige ist der detaillierte Inhalt vonWie iteriere ich mit der Funktion „index“ durch parallele Arrays in HTML/Vorlage?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!