Nunjucks での文字列と配列の変換
文字列を配列に
JavaScript テンプレートエンジン Nunjucks で文字列を配列にするには、split
を使います。
{% set string = 'apple,melon,lemon' %}
{% set array = string.split(',') %}
{{ array | dump }}
{# 結果
["apple","melon","lemon"] #}
{% set string = '2022-08-31' %}
{% set array = string.split('-') %}
{{ array | dump }}
{# 結果
["2022","08","31"] #}
尚、Nunjucks のドキュメント にも Jinja のドキュメント にも split
の記述はありません。
配列を文字列に
配列を文字列にする場合は、join
を使います。
{% set array = ['apple', 'melon', 'lemon'] %}
{% set string = array | join %}
{{ string | dump }}
{# 結果
"applemelonlemon" #}
{% set array = ['2022', '08', '31'] %}
{% set string = array | join('/') %}
{{ string | dump }}
{# 結果
"2022/08/31" #}
配列の中がオブジェクトの場合も文字列に変換できます。
{% set array = [
{ name: 'apple', color: 'red' },
{ name: 'melon', color: 'green' },
{ name: 'lemon', color: 'yellow' }
] %}
{% set string = array | join('-', 'color') %}
{{ string | dump }}
{# 結果
"red-green-yellow" #}