首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nunjucks:从for循环中的数组中选择特定项

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

Stack Overflow用户
提问于 2019-10-15 12:10:06
回答 1查看 991关注 0票数 0

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

代码语言:javascript
运行
复制
{
  "list:" [
    { "title": "Blue" },
    { "title": "Green" },
    { "title": "Yellow" } ...
  ]
}

我在考虑for loop,但不确定应该使用什么语法或过滤器。我应该如何修改这段代码来实现上面的功能呢?

代码语言:javascript
运行
复制
{% for item in list %}
    {% item %}
{% endfor %}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-17 06:37:35

如果需要多次应用筛选器,可以添加自定义筛选器。

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
{% for item in list %}
    {{ item if item.title == 'Green' }}
{% endfor %}

代码语言:javascript
运行
复制
{% for item in list %}
    {% if item.title == 'Green' %}
        {{ item }}
    {% endif %} 
{% endfor %}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58387115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档