在 Jekyll 中按 'last' 排序不起作用? Reverse-sorting, 等等
Sorting by 'last' in Jekyll doesn't work? Reverse-sorting, etc
我使用的是 3.8.4 版本。假设我制作了一个要以相反顺序打印的数组:
{% assign words = 'swag, yolo, hi' | split: ", " | sort: 'last' %}
{% for word in words %}
<p>{{word}}</p>
{% endfor %}
即使使用 sort: 'last'
,也将打印为:
swag
yolo
hi
也许是 'first'
。输出还是
swag
yolo
hi
和'first'
。
我一直在尝试按某个页面 front-matter 对 Jekyll 中的 collection 进行排序,并且 sort
有效——它按我给它们的数字按顺序列出所有内容(不是按标题或日期),从头到尾,但如果我希望它从头到尾怎么办?如果我sort: 'last'
,它仍然是从前到后排序的。 last
选项是否损坏?我做错了什么吗?
从 the docs 看来 sort
总是单向的。您传递给它的参数是要排序的 属性 的名称。您的对象没有名为 'first' 或 'last' 的属性,因此它被忽略了。
要得到你想要的,只需使用sort
对a-z进行排序,然后reverse
对排序后的列表(z-a)进行反转:
{% assign words = 'swag, yolo, hi' | split: ", " | sort | reverse %}
我使用的是 3.8.4 版本。假设我制作了一个要以相反顺序打印的数组:
{% assign words = 'swag, yolo, hi' | split: ", " | sort: 'last' %}
{% for word in words %}
<p>{{word}}</p>
{% endfor %}
即使使用 sort: 'last'
,也将打印为:
swag
yolo
hi
也许是 'first'
。输出还是
swag
yolo
hi
和'first'
。
我一直在尝试按某个页面 front-matter 对 Jekyll 中的 collection 进行排序,并且 sort
有效——它按我给它们的数字按顺序列出所有内容(不是按标题或日期),从头到尾,但如果我希望它从头到尾怎么办?如果我sort: 'last'
,它仍然是从前到后排序的。 last
选项是否损坏?我做错了什么吗?
从 the docs 看来 sort
总是单向的。您传递给它的参数是要排序的 属性 的名称。您的对象没有名为 'first' 或 'last' 的属性,因此它被忽略了。
要得到你想要的,只需使用sort
对a-z进行排序,然后reverse
对排序后的列表(z-a)进行反转:
{% assign words = 'swag, yolo, hi' | split: ", " | sort | reverse %}