Lit 模板字面量表达式可以包含任何返回可渲染值的 JavaScript 表达式,如表达式文档中所述。在处理数组时,也可以使用数组的原型方法来生成可渲染值的数组。

这个示例中有一个组件,其 names 状态属性包含一个字符串数组。

使用 filter() 数组方法只保留包含字母"e"的名称,然后链式调用 map() 数组方法生成模板结果数组,放入组件的模板中。

// my-element.ts
render() {
return html`
<ul>
${this.names
.filter((name) => name.match(/e/i))
.map((name) => html`<li>${name}</li>`)}
</ul>
`;
}
// my-element.js
render() {
return html`
<ul>
${this.names
.filter((name) => name.match(/e/i))
.map((name) => html`<li>${name}</li>`)}
</ul>
`;
}

像这样链式调用时使用数组方法非常方便,但它要求原始数据源必须是数组。对于非数组的可迭代对象,请考虑使用上一步中展示的 map() 指令。