使用twig合并对象会覆盖结果而不是将它们添加到一起

时间:2016-06-15 13:20:36

标签: gulp twig

如何将这些组合到对象中:

{% set stuff1 = {
  array: [
    {
      one: 'A',
      two: 'B'
    }
  ]
}
%}

{% set stuff2 = {
  array: [
    {
      one: 'C',
      two: 'D'
    }
  ]
}
%}

这就是结果?:

{% set result = {
  array: [
    {
      one: 'A',
      two: 'B'
    },
    {
      one: 'C',
      two: 'D'
    }
  ]
}
%}

我试过这个,但是它会覆盖第一个数组而不是添加它:

{% set result = stuff1|merge(stuff2) %}

我正在使用Gulp Twig:https://github.com/zimmen/gulp-twig

1 个答案:

答案 0 :(得分:1)

你正在合并哈希。尝试直接合并两个数组。

请参阅documentation

" 对于哈希,合并过程发生在键上:如果键尚不存在,则添加,但如果键已存在,则重写其值。 "

试试这个:

{% set result = { array: stuff1.array|merge(stuff2.array) }%}