0

ejs テンプレートでアクセスできる一連のユーザー名があります。

次のようなカンマ区切りのリンクのリストを作成したい:

<a href="/user1">user1</a>, <a href="/user2">user2</a> and <a href="/user3">user3</a>

レンダリングされた html は次のようになります (ユーザー名がリンクになっています)。

user1, user2 and user3 have added items to your list.

ループしてそれらすべてを独自の行に配置することはできますが、その出力をコンマ (最後のものは「and」を含む) で結合するにはどうすればよいでしょうか?

<% usernames.forEach(function(username){ %>
  <a href="/<%= username %>"><%= username %></a>
<% }) %>

この出力をコンマで結合し、最後の出力にコンマなしで「and」を追加する方法はありますか?

4

1 に答える 1

3

これは私が思いついたものです:

<% creators.forEach(function(username, i, arr){ %>
  <a href="/<%= username %>"><%= username %></a><%= ( arr.length > 0 && i < arr.length-1 ? ( i == arr.length-2 ? ' and ' : ', ' ) : '' ) %>          
 <% }) %>
 <%= creators.length > 1 ? 'have' : 'has' %> created lists or items for <%= owne
r.username %>.</p>
于 2012-10-09T17:40:11.380 に答える