Как я могу объединить массивы в жидкости - PullRequest
0 голосов
/ 10 февраля 2019

Такого рода вопросы и ответы существовали и раньше, но с моим было что-то подходящее.Я хочу объединить массивы в жидкости в пустом массиве и массиве

массив1
subject = ''
массив2
tsubject = ["appple", "pine appeld"]
массив, который я хочу получить
["appple", "pine appeld"]

, чтобы объединить это, я попытался

{% assign subject = '' %}
{% for post in site.programming %}
  {% assign tsubjects = post.categories %}
  {% assign subject=subject | append: tsubjects %}
{% endfor %}
{% assign subject = '' %}
{% for post in site.programming %}
  {% assign tsubjects = post.categories %}
  {% subject=subject | concat: tsubjects %} 
{% endfor %}

, но ничего не изменилось, тема все еще была пуста.Я думаю, что это из-за concat, concat конкатенированных форм массива, таких как:
{% assign vegetables = "broccoli, carrots, lettuce, tomatoes" | split: ", " %}
Но я хочу конкатенацию ниже типа:
{% assign vegetables = ["broccoli", "carrots", "lettuce", "tomatoes"] | split: ", " %}
Я не уверен насчетпричина, почему они не работают.пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 10 февраля 2019

Вы смешиваете строку / массив значения и фильтры.

{% assign subject = '' %}
subject : {{ subject | inspect }} "" <== String

{% assign subject = '' | split: '' %}
subject : {{ subject | inspect }} [] <== Array

Если вы хотите создать массив из всех категорий в коллекции программ, вы должны concat два массива, и это может быть что-то вроде:

{% comment %} --- Creates an empty array {% endcomment %}
{% assign subject = '' | split: '' %}

{% comment %} --- Debug output {% endcomment %}
subject : {{ subject | inspect }}

{% for post in site.programming %}
  {% assign tsubjects = post.categories %}

  {% comment %} --- Just to be sure that there is something in post.categories {% endcomment %}
  tsubjects : {{ tsubjects | inspect }}

  {% assign subject=subject | concat: tsubjects %}

  {% comment %} --- Debug output {% endcomment %}
  concat : {{ subject | inspect }}

{% endfor %}

{% comment %} --- Makes sure that values are unique {% endcomment %}
{% assign subject = subject | uniq %}
uniq : {{ subject | inspect }}
...