如何按子字段对对象数组进行排序?

How do I sort an array of objects by a subfield?

我在 Jekyll 网站上工作,想按 post.date-edit 而不是 post.date 对主页上的 post 列表进行排序。然而,it seems like the sort filter only works on strings。如何按对象中的字段对对象数组进行排序?

此外,为了使未编辑的 post 正确排序,如果 post.date-edit 不在前面,我如何默认按 post.date 排序?

这是一个数组过滤器,它应该可以工作(未经测试并假设您的数组名称是“posts”):

{% assign posts_by_edit = posts | sort: "date-edit" %}
{% for post in posts_by_edit %}
  Do something
{% endfor %}