在 EJS 模板中过滤

Filtering in EJS templates

我正在尝试渲染数组并在 EJS 中应用过滤。
我想遍历数组并按名称升序排序。
文档没有提供太多关于过滤方法的直接信息

查看:

<select>
<% for( var i=0; i < genres.length; i++){ %>
    <option value="<%=: genres[i].name | sort_by:'asc' %>"><%= genres[i].name %></option>
 <% }; %>
</select>

服务:

var express = require('express'),
ejs = require('ejs');

const genres = [{ name: 'action' }, { name: 'fiction' }, { name: 'thriller' }];

ejs.filters.sort_by = function() {
     console.log(genres)
  };

错误:

 SyntaxError: Unexpected token ':'

阅读自 https://www.javascripting.com/view/ejs 我认为这回答了我的问题。

注意:EJS 的第 2 版对此版本进行了一些重大更改(特别是删除了过滤器功能)。 v2 的工作在这里进行:https://github.com/mde/ejs

https://github.com/mde/ejs/blob/master/docs/syntax.md