我需要从一个很大的数组中选择特定的项,比如5、21、83、74、12,我的列表如下所示:
{
"list:" [
{ "title": "Blue" },
{ "title": "Green" },
{ "title": "Yellow" } ...
]
}我在考虑for loop,但不确定应该使用什么语法或过滤器。我应该如何修改这段代码来实现上面的功能呢?
{% for item in list %}
{% item %}
{% endfor %}发布于 2019-10-17 06:37:35
如果需要多次应用筛选器,可以添加自定义筛选器。
var nunjucks = require('nunjucks');
var env = nunjucks.configure();
env.addFilter('myfilter', arr => arr.filter(e => e.title == 'Green'));
var html = env.renderString(`
{% for item in list | myfilter %}
{{item.id}} {{ item.title}}
{% endfor %}
`,
{
list: [
{ id: 1, title: 'Blue' },
{ id: 2, title: 'Green' },
{ id: 3, title: 'Yellow' },
{ id: 4, title: 'Green' }
]
}
);
console.log(html);另一种方法是每次都使用if
{% for item in list %}
{{ item if item.title == 'Green' }}
{% endfor %}或
{% for item in list %}
{% if item.title == 'Green' %}
{{ item }}
{% endif %}
{% endfor %}https://stackoverflow.com/questions/58387115
复制相似问题