根据区域设置更改forEach

时间:2015-02-20 19:24:47

标签: 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>
<% }); %>

但似乎我不能。

1 个答案:

答案 0 :(得分:1)

使用bracket notation

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