Jekyll - 将数组拆分为n个项目的子数组

时间:2017-04-20 21:09:48

标签: arrays jekyll liquid

此问题已在此社区javascriptruby的上下文中得到解决,但您如何使用Jekyll / Liquid模板完成相同的操作?假设,有些东西:

{% assign subarrays = array | split_items_by: 3 %}

1 个答案:

答案 0 :(得分:0)

详细代码:

{% assign subArraySize = 3 %}

{% assign myArray = "one,two,three,four,five,six,seven" | split: "," %}
myArray = {{ myArray | inspect }}

{% assign multiArray = "" | split: "/" %}
multiArray = {{ multiArray | inspect }}

{% for element in myArray %}
  looping in myArray - forloop.index = {{ forloop.index }}

  {% assign reminder = forloop.index | modulo: subArraySize %}
  reminder : {{ reminder | inspect }}

  {% if reminder == 1 %}
  create a new empty sub array
  {% assign subArray = "" | split: "/" %}
  subArray = {{ subArray | inspect }}
  {% endif %}

  push current element in subArray
  {% assign subArray = subArray | push: element %}
  subArray = {{ subArray | inspect }}

  {% if reminder == 0 or forloop.last %}
  push subArray in multiArray if subarray length is
    {% assign multiArray = multiArray | push: subArray %}
  multiArray = {{ multiArray | inspect }}
  {% endif %}
{% endfor %}

{% for subArray in multiArray %}
 subArray :{{ subArray | inspect }}
{% endfor %}

如果您已有红宝石代码,可以写一个tag plugin

相关问题