first
Returns the first item of an array.
first
with dot notation when you need to use the filter inside a tag:
last
Returns the last item of an array.
last
with dot notation when you need to use the filter inside a tag:
join
Combines the items in an array into a single string using the argument as a separator.
reverse
Reverses the order of the items in an array. reverse
cannot reverse a string.
reverse
cannot be used directly on a string, you can split a string into an array, reverse the array, and rejoin it by chaining together filters:
size
Returns the number of characters in a string or the number of items in an array.
size
with dot notation when you need to use the filter inside a tag:
sort
Sorts items in an array in case-sensitive order.
sort_natural
Sorts items in an array in case-insensitive order.
map
Creates an array of values by extracting the values of a named property from another object.
In this example, assume the object site.pages
contains all the metadata for a website. Using assign
with the map
filter creates a variable that contains only the values of the category
properties of everything in the site.pages
object.
concat
Concatenates (joins together) multiple arrays. The resulting array contains all the items from the input arrays.
concat
filters to join more than two arrays:
uniq
Removes any duplicate elements in an array.
where
Creates an array including only the objects with a given property value, or any truthy value by default.
In this example, assume you have a list of products and you want to show your kitchen products separately. Using where
, you can create an array containing only the products that have a "type"
of "kitchen"
.
where
with a property name but no target value to include all products with a truthy "available"
value.
As a special case, the same will happen if the target value is given but evaluates to undefined
.
where
filter can also be used to find a single object in an array when combined with the first
filter. For example, say you want to show off the shirt in your new fall collection.
property
can be any valid Liquid variable expression as used in output syntax, except that the scope of this expression is within each item. For the following products
array:
slice
Returns a substring of 1 character beginning at the index specified by the first argument. An optional second argument specifies the length of the substring to be returned.
String indices are numbered starting from 0.
where_exp
Select all the objects in an array where the expression is true. In this example, assume you have a list of products and you want to show your kitchen products separately. Using where_exp
, you can create an array containing only the products that have a "type"
of "kitchen"
.
find
Return the first object in an array for which the queried attribute has the given value or return nil
if no item in the array satisfies the given criteria. For the following members
array:
find_exp
Return the first object in an array for which the given expression evaluates to true or return nil
if no item in the array satisfies the evaluated expression.
find_index
Return the 0-based index of the first object in an array for which the queried attribute has the given value or return nil
if no item in the array satisfies the given criteria. For the following members
array:
find_index_exp
Return the 0-based index of the first object in an array for which the given expression evaluates to true or return nil
if no item in the array satisfies the evaluated expression.
group_by
Group an array’s items by a given property. For members
array:
group_by_exp
Group an array’s items using a Liquid expression. For members
array below:
has
Return true
if the array includes an item for which the queried attribute has the given value or return false
if no item in the array satisfies the given criteria. For the following members
array:
has_exp
Return true
if an item exists in an array for which the given expression evaluates to true or return false
if no item in the array satisfies the evaluated expression.
compact
Removes any nil
values from an array.
For this example, assume site.pages
is an array of content pages for a website, and some of these pages have an attribute called category
that specifies their content category. If we map
those categories to an array, some of the array items might be nil
if any pages do not have a category
attribute.
compact
when we create our site_categories
array, we can remove all the nil
values in the array.
push
Push an element into array. It’s NON-DESTRUCTIVE, i.e. it does not mutate the array, but rather make a copy and mutate that.
pop
Pop an element from the array. It’s NON-DESTRUCTIVE, i.e. it does not mutate the array, but rather make a copy and mutate that.
shift
Shift an element from the array. It’s NON-DESTRUCTIVE, i.e. it does not mutate the array, but rather make a copy and mutate that.
unshift
Unshift an element to the front of the array. It’s NON-DESTRUCTIVE, i.e. it does not mutate the array, but rather make a copy and mutate that.
reject
Creates an array excluding the objects with a given property value, or excluding truthy values by default when a property is not given.
In this example, assume you have a list of products and you want to filter out kitchen products. Using reject
, you can create an array excluding only the products that have a "type"
of "kitchen"
.
reject
with a property name but no target value to reject all products with a truthy "taxable"
value.
property
can be any valid Liquid variable expression as used in output syntax, except that the scope of this expression is within each item. For the following products
array:
reject_exp
Select all the objects in an array where the expression is false. In this example, assume you have a list of products and you want to hide your kitchen products. Using reject_exp
, you can create an array that omits only the products that have a "type"
of "kitchen"
.