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
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.