如何在Nunjucks中遍历对象时限制迭代次数
在Nunjucks中限制数组遍历次数的两种方法
嘿,你可以通过以下两种简洁的方式实现只遍历数组的前2个元素:
方法1:利用循环内置的loop变量判断
Nunjucks的for循环自带一个loop对象,其中loop.index(从1开始计数)或loop.index0(从0开始计数)能帮你判断当前迭代的位置,进而控制是否渲染内容:
{% for object in data %} {% if loop.index <= 2 %} {{ object.src }} {% endif %} {% endfor %}
如果习惯从0开始计数,也可以写成:
{% for object in data %} {% if loop.index0 < 2 %} {{ object.src }} {% endif %} {% endfor %}
方法2:直接对数组做切片处理
更高效直观的方式是直接用slice()方法截取原数组的前2个元素,这样循环只需要遍历截取后的子数组,不用额外加条件判断:
{% for object in data.slice(0, 2) %} {{ object.src }} {% endfor %}
这里slice(0, 2)表示从数组索引0开始,截取到索引2(不包含索引2)的元素,刚好就是前2个对象,非常省心。
内容的提问来源于stack exchange,提问作者Otus
相关产品推荐
相关产品推荐

