Array filters
Array-Filter verändern die Ausgabe von Arrays.
Inhalt
join
Verbindet die Elemente eines Arrays mit dem als Parameter übergebenen Zeichen. Das Ergebnis ist eine einzige Zeichenkette.
{{ product.tags | join: ', ' }}
tag1, tag2, tag3
first
Gibt das erste Element eines Arrays zurück.
<!-- product.tags = "verkauf", "mens", "frauen", "awesome" --> {{ product.tags | first }}
verkauf
Sie können first
mit Punktnotation verwenden, wenn Sie den Filter innerhalb eines Tags verwenden müssen.
{% if product.tags.first == "verkauf" %} This product is on verkauf! {% endif %}
last
Gibt das letzte Element eines Arrays zurück.
<!-- product.tags = "verkauf", "mens", "frauen", "awesome" --> {{ product.tags | last }}
awesome
Sie können last
mit Punktnotation verwenden, wenn Sie den Filter innerhalb eines Tags verwenden müssen.
{% if product.tags.last == "verkauf"%} This product is on verkauf! {% endif %}
Die Verwendung von last
für eine Zeichenkette gibt das letzte Zeichen der Zeichenkette zurück.
<!-- product.title = "Tolle Schuhe" --> {{ product.title | last }}
e
concat
Verkettet (kombiniert) ein Array mit einem anderen Array. Das resultierende Array enthält alle Elemente der ursprünglichen Arrays. concat
wird keine doppelten Einträge aus dem verketteten Array entfernen, es sei denn, Sie verwenden auch den uniq
filter verwenden.
{% assign Früchte = "Äpfel, Mandarinen, Pfirsiche, Tomaten" | split: ", " %} {% assign Gemüse = "Brokkoli, Mohrrüben, Kopfsalat, Tomaten" | split: ", " %} {% assign plants = Früchte | concat: Gemüse %} {{ plants | join: ", " }}
Äpfel, Mandarinen, Pfirsiche, Tomaten, Brokkoli, Mohrrüben, Kopfsalat, Tomaten
Sie können mehrere concat
Filter aneinanderreihen, um mehr als zwei Arrays zu kombinieren:
{% assign Früchte = "Äpfel, Mandarinen, Pfirsiche" | split: ", " %} {% assign Gemüse = "Brokkoli, Mohrrüben, Kopfsalat" | split: ", " %} {% assign Tiere = "Hunde, Katzen, Vögel" | split: ", " %} {% assign Dinge = Früchte | concat: Gemüse | concat: Tiere %} {{ Dinge | join: ", " }}
Äpfel, Mandarinen, Pfirsiche, Brokkoli, Mohrrüben, Kopfsalat, Hunde, Katzen, Vögel
index
Gibt das Element an der angegebenen Indexposition in einem Array zurück. Beachten Sie, dass die Nummerierung von Arrays bei Null beginnt, so dass das erste Element in einem Array mit [0]
referenziert wird.
<!-- product.tags = "verkauf", "mens", "frauen", "awesome" --> {{ product.tags[2] }}
frauen
map
Akzeptiert das Attribut eines Array-Elements als Parameter und erstellt ein Array aus den Werten der einzelnen Array-Elemente.
<!-- collection.title = "Frühling", "Sommer", "Herbst", "Winter" --> {% assign collection_titles = Sammlungen | map: 'title' %} {{ collection_titles }}
FrühlingSommerHerbstWinter
reverse
Kehrt die Reihenfolge der Elemente in einem Array um.
{% assign my_array = "Äpfel, Mandarinen, Pfirsiche, Pflaumen" | split: ", " %} {{ my_array | reverse | join: ", " }}
Pflaumen, Pfirsiche, Mandarinen, Äpfel
size
Gibt die Größe einer Zeichenkette (die Anzahl der Zeichen) oder eines Arrays (die Anzahl der Elemente) zurück.
{{ 'Der schnelle braune Fuchs springt über den faulen Hund.' | size }}
42
Sie können size
mit Punktnotation verwenden, wenn Sie den Filter innerhalb eines Tags verwenden müssen.
{% if Sammlungen.frontpage.products.size > 10 %} Es gibt mehr als 10 Produkte in dieser Kollektion! {% endif %}
sort
Sortiert die Elemente eines Arrays nach einem bestimmten Attribut eines Elements im Array.
{% assign products = collection.products | sort: 'price' %} {% for product in products %} <h4>{{ product.title }}</h4> {% endfor %}
Die Reihenfolge des sortierten Arrays unterscheidet Groß- und Kleinschreibung.
<!-- products = "a", "b", "A", "B" --> {% assign products = collection.products | sort: 'title' %} {% for product in products %} {{ product.title }} {% endfor %}
A B a b
where
Erzeugt ein Array, das nur die Objekte mit einem bestimmten Eigenschaftswert enthält, oder standardmäßig einen wahrheitsgemäßen Wert.
Alle Produkte: {% for product in collection.products %} - {{ product.title }} {% endfor %} {% assign Küche_products = collection.products | where: "type", "Küche" %} Produkte für die Küche: {% for product in Küche_products %} - {{ product.title }} {% endfor %}
Alle Produkte: - Vakuum - Spatel - Fernsehen - Knoblauch presse Produkte für die Küche: - Spatel - Knoblauch presse
Sie können einen Eigenschaftsnamen mit where
verwenden, der keinen Zielwert hat, wenn die Eigenschaft boolesch oder wahrheitsgemäß ist. Zum Beispiel die Eigenschaft available von Produkten.
{% assign available_products = collection.products | where: "available" %} Available products: {% for product in available_products %} - {{ product.title }} {% endfor %}
uniq
Entfernt alle doppelten Instanzen von Elementen in einem Array.
{% assign Früchte = "orange apple banana apple orange" %} {{ Früchte | split: ' ' | uniq | join: ' ' }}
orange apple banana