用什么Jekyll语法来过滤前面的key:value对?
在我的Jekyll站点中,我有一个页面,在前面存储一组数据,如下所示:用什么Jekyll语法来过滤前面的key:value对?,jekyll,liquid,Jekyll,Liquid,在我的Jekyll站点中,我有一个页面,在前面存储一组数据,如下所示: --- layout: page title: MyTitle array: - key1: value1 - key2: value2 --- 我想在模板中执行的操作:给定一个keyX,从数组中获取valueX 我找到了一种访问阵列的方法: {% assign subpage = site.pages | where: 'title', 'MyTitle' %} {% assign array = subpage
---
layout: page
title: MyTitle
array:
- key1: value1
- key2: value2
---
我想在模板中执行的操作:给定一个keyX,从数组中获取valueX
我找到了一种访问阵列的方法:
{% assign subpage = site.pages | where: 'title', 'MyTitle' %}
{% assign array = subpage[0].array %}
现在我需要编写的查询是:“从数组中提取与keyX匹配的值”
有没有一种方法可以在不需要循环的情况下搜索整个数组?我能找到的所有示例都基于一维数组…同时,我发现了以下解决方法:
{%用于数组%中的valueList}
{valueList%中valuePair的%
{%if valuePair[0]==“key1”%}
{%assign value=valuePair[1]}
{%endif%}
{%endfor%}
{%endfor%}
您的数组是非标准化对象的数组(它们没有相同的键)
返回
[{"key1"=>"value1"}, {"key2"=>"value2"}]
这里搜索的唯一方法是遍历所有数组项
如果将数组重构为对象,则可以从键中获取值
---
[...]
object:
key1: value1
key2: value2
...
例如:
{% assign searched = "key1" %}
{{ page.object[searched] }}
太棒了,我不知道“对象”语法!使我的代码更具可读性。
{% assign searched = "key1" %}
{{ page.object[searched] }}