Javascript 有没有办法使用Nunjucks过滤器提取属性?

Javascript 有没有办法使用Nunjucks过滤器提取属性?,javascript,nunjucks,eleventy,Javascript,Nunjucks,Eleventy,是否有一种通过使用Nunjucks过滤器从每个元素提取特定属性来映射数组的方法 我想做如下的事情,但我不知道如何使用内置的Nunjucks操作 输入 {% set foods = [{name: "apple", colour: "green"}, {name: "plum", colour: "purple"}, {name: "cher

是否有一种通过使用Nunjucks过滤器从每个元素提取特定属性来映射数组的方法

我想做如下的事情,但我不知道如何使用内置的Nunjucks操作

输入

{% set foods = [{name: "apple", colour: "green"}, 
                {name: "plum", colour: "purple"}, 
                {name: "cherry", colour: "red"}] %}

{{ foods | extractattr("colour") }}
green,purple,red
输出

{% set foods = [{name: "apple", colour: "green"}, 
                {name: "plum", colour: "purple"}, 
                {name: "cherry", colour: "red"}] %}

{{ foods | extractattr("colour") }}
green,purple,red
const nunjucks=require('nunjucks');
const env=nunjucks.configure();
环境addFilter('map',函数(arr、prop等){
var f=typeof prop=='function'?prop:typeof this.env.filters[prop]=='function'?this.env.filters[prop]:(e)=>e[prop];
返回arr instanceof Array&&arr.map(e=>f(e,…etc))| | arr;
});
常量食品=[
{名称:“苹果”,颜色:“绿色”},
{名称:“李子”,颜色:“紫色”},
{名称:“樱桃”,颜色:“红色”}
];
const html=env.renderString(`{foods | map('name')}}`,{foods});
log(html);
const nunjucks=require('nunjucks');
const env=nunjucks.configure();
环境addFilter('map',函数(arr、prop等){
var f=typeof prop=='function'?prop:typeof this.env.filters[prop]=='function'?this.env.filters[prop]:(e)=>e[prop];
返回arr instanceof Array&&arr.map(e=>f(e,…etc))| | arr;
});
常量食品=[
{名称:“苹果”,颜色:“绿色”},
{名称:“李子”,颜色:“紫色”},
{名称:“樱桃”,颜色:“红色”}
];
const html=env.renderString(`{foods | map('name')}}`,{foods});
log(html);
看一看问题。看一看问题。