Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Nunjucks:从for循环中的数组中选择特定项_Javascript_Arrays_For Loop_Nunjucks - Fatal编程技术网

Javascript Nunjucks:从for循环中的数组中选择特定项

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 %} 如果需要多次

我需要从一个大数组中选择特定的项,比如[5,21,83,74,12],我的列表如下所示:

{
  "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 %}