javascript - 根据区域设置更改 forEach

标签 javascript node.js ejs

<% if (locale === 'pt') {
    data[i].info.pt.forEach(function(info) { %>
        <li><%= info %></li>
    <% }); %>
<% } else if (locale === 'en') {
    data[i].info.en.forEach(function(info) { %>
        <li><%= info %></li>
<% } else if (locale === 'es') {
    data[i].info.es.forEach(function(info) { %>
        <li><%= info %></li>
<% } %>

我有一个名为 locale 的变量,它根据站点的语言更改值,并且我在一个对象上执行此 forEach 操作,具体取决于区域设置的值,有什么方法可以使它更好吗?

我正在尝试这样:

<% data[i].info. + locale + .forEach(function(info) { %>
 <li><% info %></li>
<% }); %>

但似乎我不能。

最佳答案

使用bracket notation :

<% data[i].info[locale].forEach(function(info) { %>
    <li><% info %></li>
<% }); %>

关于javascript - 根据区域设置更改 forEach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28636686/

相关文章:

javascript - 使用 javascript 对象文字表示法定义函数

javascript - 如何删除所有SPAN?

javascript - 字符集有什么问题?

node.js - 如何在 socket.io 的中间件中获取事件详细信息

node.js - express 无法验证

javascript - 使用 NodeJS 的文件路径问题

javascript - 如何利用时刻获得不同的时差?

javascript - 我如何使用 angularjs 在 NODEJS 中生成 .ejs 文件为 pdf?

javascript - 模板中的全局变量

javascript - 使用 radio 输入在部分形式之间切换