You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Nunjucks中拼接两个数组?

在Nunjucks中实现数组拼接

Nunjucks提供了两种常用方式来完成数组拼接,将arr2的元素追加到arr1并生成新数组arr3:

方法一:使用内置concat过滤器(推荐)

这是最简洁的方式,concat过滤器会返回一个包含原数组和传入数组所有元素的新数组,不会修改原数组:

{% set arr1 = [1, 2, 3] %}
{% set arr2 = [4, 5, 6] %}
{% set arr3 = arr1 | concat(arr2) %}

执行后arr3的值为[1, 2, 3, 4, 5, 6],arr1和arr2保持不变。

方法二:循环+push手动拼接

如果需要更灵活的处理(比如拼接前对元素做额外处理),可以用do标签结合循环实现:

{% set arr1 = [1, 2, 3] %}
{% set arr2 = [4, 5, 6] %}
{% set arr3 = arr1.slice() %} {# 复制arr1,避免修改原数组 #}
{% for item in arr2 %}
  {% do arr3.push(item) %}
{% endfor %}

这里用slice()复制arr1是关键,因为数组是引用类型,直接赋值会导致修改arr3时同步改变arr1。如果不需要保留原arr1,也可以直接{% set arr3 = arr1 %}再执行push。

内容的提问来源于stack exchange,提问作者Bopsi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 16:29:52