Javascript Nunjucks:从for循环中的数组中选择特定项
我需要从一个大数组中选择特定的项,比如[5,21,83,74,12],我的列表如下所示:Javascript Nunjucks:从for循环中的数组中选择特定项,javascript,arrays,for-loop,nunjucks,Javascript,Arrays,For Loop,Nunjucks,我需要从一个大数组中选择特定的项,比如[5,21,83,74,12],我的列表如下所示: { "list:" [ { "title": "Blue" }, { "title": "Green" }, { "title": "Yellow" } ... ] } 我在考虑for循环,但不确定应该使用什么语法或过滤器。我应该如何修改此代码以完成上述操作 {% for item in list %} {% item %} {% endfor %} 如果需要多次
{
"list:" [
{ "title": "Blue" },
{ "title": "Green" },
{ "title": "Yellow" } ...
]
}
我在考虑for循环,但不确定应该使用什么语法或过滤器。我应该如何修改此代码以完成上述操作
{% for item in list %}
{% item %}
{% endfor %}
如果需要多次应用筛选器,可以添加自定义筛选器
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 %}