【问题标题】:How to Split <ul>'s every different variable如何拆分 <ul> 的每个不同的变量
【发布时间】:2017-08-30 16:04:42
【问题描述】:

我想将&lt;ul&gt; 拆分为每个不同的variable_name

我尝试在 if 语句中插入 ul,但它不起作用。是否可以将 ul 放在 if 语句之外?

假设我的variable_name = [dog,dog,dog,cat,cat,mouse,mouse,mouse,mouse];

我想要的输出是:

<ul>
  <li> dog </li>
  <li> dog </li>
  <li> dog </li>
</ul>
<ul>
  <li> cat </li>
  <li> cat </li>
</ul>
<ul>
  <li> mouse </li>
  <li> mouse </li>
  <li> mouse </li>
  <li> mouse </li>


Code:
<% for(var j=0;j<array4.length;j++)  { %>
<%  if(array4[j].input_type == "radio")	{ %>

<li class="list-group-item radio-choice" id="chk_<%=array4[j].variable_name%>" value=""><%=array4[j].answer_text%> </li>

<%} }%>

【问题讨论】:

  • 是的,我做到了,但我很难理解
      的逻辑

    标签: html node.js ejs


    【解决方案1】:

    在 Node 中你可以这样做(直接在模板中,例如 eJS):

    <%
    
    var variable_name = ['dog','dog','dog','cat','cat','mouse','mouse','mouse','mouse'];
    var uls = [];
    variable_name.forEach(function(item) {
        uls[item] = uls[item] ? ++uls[item] : 1;
    });
    for(var key in uls) {
        %><ul><%
        for (var i=0; i<uls[key]; i++) {
            %><li><%= key %></li><%
        }
        %></ul><%
    }
    
    %>
    

    您可以使用 Javascript 中的控制台日志进行测试,如下所示:

    var variable_name = ['dog','dog','dog','cat','cat','mouse','mouse','mouse','mouse'];
    var uls = [];
    variable_name.forEach(function(item) {
        uls[item] = uls[item] ? ++uls[item] : 1;
    });
    for(var key in uls) {
        console.log('<ul>');
        for (var i=0; i<uls[key]; i++) {
            console.log('<li>'+key+'</li>');
        }
        console.log('</ul>');
    }
    

    【讨论】:

    • 感谢您的回答!
    • @JohnCarloVelasquez:如果它对你有用,你能接受这个作为正确答案吗?
    猜你喜欢
    • 1970-01-01
    • 2019-11-25
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    • 2014-03-14
    • 2020-04-26
    • 2012-05-08
    相关资源
    最近更新 更多