当前位置: 首页 > 知识库问答 >
问题:

如何在Jekyll中显示已分组的循环数据的键标签和值

卢志行
2023-03-14

我做了以下工作:

{% assign cars = site.data.inventory %}
{% for item in cars %}
{{item}}
{% endfor %}

结果看起来像一堆密钥对。

{"brand"=>"Toyota", "model"=>"Celica"}

很好。然后我扔了一个弧线球。

{% assign cars = site.data.inventory | group_by:"model" %}

现在,结果看起来不同了,这是有道理的,但这会引起混乱。

{"name"=>"Celica","items"=>[{"brand"=>"Toyota", "model"=>"Celica"}], "size"=>1}

当这成为一个挑战时:

我想迭代第2个结果中的“项”,只拉关键标签。如果我删除分组,我可以这样做:

{% for e in cars %}
{% if forloop.first == true %}
  {% for item in e %}
    {{item[0]}}
  {% endfor %}
{% endif %}
  {% for item in e %}
    {{item[1]}}
  {% endfor %}
{% endfor %}

很有魅力。第一个结果是标签,其余结果显示数据。制作列标题的简单方法。

然而,如果我在赋值中添加组_by,我的{{item[0]}}将变成“name”、“items”、“size”,而不是“brand”、“model”,其中items将成为第一个示例中的整个列表{{item}。

如何迭代粗体的值?

[{“品牌”=

共有1个答案

严言
2023-03-14

我想这就是你想要做的:

{% assign models = site.data.inventory | group_by:"model" %}

<table>
{% for model in models %}

  {% if forloop.first == true %}
  <tr>
    {% for item in model.items.first %}
      <th>{{ item[0] }}</th>
    {% endfor %}
  </tr>
  {% endif %}

  {% for car in model.items %}
  <tr>
    {% for field in car %}
      <td>{{ field[1] }}</td>
    {% endfor %}
  </tr>
  {% endfor %}

{% endfor %}
</table>
 类似资料:
  • 在使用for循环时,我试图在数组中只显示偶数(0-18)。 到目前为止,我已经显示了 我试着改变

  • 在处理嵌套循环的时候可以中断(break)或继续(continue)外层循环。在这类情形中,循环必须用一 些'label(标签)来注明,并且标签传递给 break/continue 语句。 #![allow(unreachable_code)] fn main() { 'outer: loop { println!("Entered the outer loop");

  • 问题内容: 我有这个: 我需要的是:“,这是列的总和。 我已经尝试了几个小时了。我以为可以,但是不适用于多维数组。因此,我试图弄清楚如何通过或剪接或其他方式隔离s ,但是每种解决方案似乎都涉及一个循环。我弄乱了,和其他人,但无济于事。我还没有找到一个可以很好地处理多维数组的函数。 我正在运行PHP 5.4。 有人可以告诉我如何在没有循环的情况下求和该列吗? 如果有帮助,则值将永远不会大于,并且值将

  • 我无法制作Matplotlib v.2.0的图例。图2显示在Python2.7中。下面我有一个简单的例子,它在for循环的轴上绘制箭头。 由于在每次迭代中指定标签关键字定义并不能使图例出现,因此我尝试使用条件仅在第一次迭代中设置标签。 在ax.legend()中尝试bbox_to_anchor和loc参数没有效果,所以我忽略了任何图例参数。 有人知道如何让一个图例出现,在标签旁边分别显示红色和黑色

  • 问题内容: 我有一些HTML数据,其中包含标题,段落,图像和列表标签。 是否有一个显示该数据的方式还是? 问题答案: 对于Swift 4: 然后,每当您要将HTML文本放入UITextView时,请使用:

  • FOREACH标签 foreach标签的用法和PHP语法非常接近,用于循环输出数组或者对象的属性,用法如下: $list = User::all(); $this->assign('list',$list); 模板文件中可以这样输出 {foreach $list as $key=>$vo } {$vo.id}:{$vo.name} {/foreach} 可以不通过模板变量赋值,支持使用函