Array filters - Bộ lọc mảng
Array filters thay đổi kết quả của một mảng.
Danh sách các bộ lọc mảng
join
Kết nối các phần tử của một mảng với các kí tự thông qua tham số. Kết quả là một chuỗi đơn.
Input
{{ product.tags | join: ', ' }}
Output
tag1, tag2, tag3
first
Trả về phần tử đầu tiên của một mảng.
Input
product.tags = "tag1", "tag2", "tag3", "tag4"
{{ product.tags | first }}
Output
tag1
Bạn có thể dùng bộ lọc first
sau dấu chấm .
khi bạn cần sử dụng bộ lọc bên trong tag
.
{% if product.tags.first == "tag1" %}
Đây là tag đầu tiên.
{% endif %}
last
Trả về phần tử cuối cùng của một mảng.
Input
product.tags = "tag1", "tag2", "tag3", "tag4"
{{ product.tags | last }}
Output
tag4
Bạn có thể dùng bộ lọc last
sau dấu chấm .
khi bạn cần sử dụng bộ lọc bên trong tag
.
{% if product.tags.last == "tag4"%}
Đây là tag cuối cùng.
{% endif %}
Sử dụng last
trong một chuỗi trả về kí tự cuối cùng của chuỗi.
Input
product.title = "i love code"
{{ product.title | last }}
Output
e
concat
Kết nối một mảng với một mảng khác. Mảng kết quả chứa tất cả các phần tử của mảng ban đầu. concat
sẽ không xóa phần tử trùng lắp từ mảng kết quả trừ khi bạn dùng nó với bộ lọc uniq
.
Input
{% assign fruits = "apples, oranges, peaches, tomatoes" | split: ", " %}
{% assign vegetables = "broccoli, carrots, lettuce, tomatoes" | split: ", " %}
{% assign plants = fruits | concat: vegetables %}
{{ plants | join: ", " }}
Output
apples, oranges, peaches, tomatoes, broccoli, carrots, lettuce, tomatoes
Bạn có thể dùng nhiều bộ lọc concat
cùng nhau để kết nối nhiều hơn 2 mảng.
Input
{% assign fruits = "apples, oranges, peaches" | split: ", " %}
{% assign vegetables = "broccoli, carrots, lettuce" | split: ", " %}
{% assign animals = "dogs, cats, birds" | split: ", " %}
{% assign things = fruits | concat: vegetables | concat: animals %}
{{ things | join: ", " }}
Output
apples, oranges, peaches, broccoli, carrots, lettuce, dogs, cats, birds
index
Trả về phần tử tại một vị trí cụ thể trong một mảng. Lưu ý rằng mảng đánh số bắt đầu từ 0, vì vậy phần tử đầu tiên trong mảng tham chiếu với [0]
.
Input
product.tags = "tag1", "tag2", "tag3", "tag4"
{{ product.tags[2] }}
Output
tag3
map
Chấp nhận các thuộc tính của một mảng phần tử như là một tham số và tạo ra một chuỗi các giá trị của mảng phần tử đó.
Input
collection.title = "Spring", "Summer", "Fall", "Winter"
{% assign collection_titles = collections | map: 'title' %}
{{ collection_titles }}
Output
SpringSummerFallWinter
size
Trả về kích thước của một chuỗi (số lượng các kí tự) hoặc một mảng (số lượng các phần tử).
Input
{{ 'Chuỗi có 18 kí tự.' | size }}
Output
18
Bạn có thể dùng size
sau dấu chấm .
khi bạn cần sử dụng bộ lọc bên trong tag
.
{% if collections.frontpage.products.size > 10 %}
There are more than 10 products in this collection!
{% endif %}
sort
Sắp xếp các phần tử của một mảng bởi thuộc tính cụ thể của các phần tử trong mảng.
{% assign products = collection.products | sort: 'price' %}
{% for product in products %}
<h4>{{ product.title }}</h4>
{% endfor %}
The order of the sorted array is case-sensitive.
Input
products = "a", "b", "A", "B"
{% assign products = collection.products | sort: 'title' %}
{% for product in products %}
{{ product.title }}
{% endfor %}
Output
A B a b
uniq
Xóa bất kỳ trường hợp trùng lặp của phần tử trong mảng.
Input
{% assign fruits = "orange apple banana apple orange" %}
{{ fruits | split: ' ' | uniq | join: ' ' }}
Output
orange apple banana