JavaScript 将一个
    转换为嵌套的

      发布于 2022-09-04 00:45:39 字数 653 浏览 11 评论 0

      将如下
      <ul>
          <li>item-1</li>
          <li>item-1.1</li>
          <li>item-2</li>
          <li>item-2.2</li>
          <li>item-2.2.2</li>
          ...
      </ul>
      转换为循环嵌套的
      <ul>
          <li>
              item-1
              <ul>
                  <li>item-1.1</li>
              </ul>
          </li>
          <li>
              item-2
              <ul>
                  <li>
                      item-2.2
                      <ul>
                      <li>item-2.2.2</li>
                      </ul>
                  </li>
              </ul>
          </li>
          ...
      </ul>

      如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

      扫码二维码加入Web技术交流群

      发布评论

      需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

      评论(1

      赠我空喜 2022-09-11 00:45:39

      看看这个是不是你想要的

      var div=document.createElement('div');
              document.getElementsByTagName('body')[0].appendChild(div);
              var obj=[
                  {
                      name:"name1",
                      age:"age1",
                      more:false
                  },
                  {
                      name:"name1",
                      age:"age1",
                      more:[{
                          name:"name2",
                          age:"age2",
                          more:false
                      }]
                  },
                  {
                      name:"name1",
                      age:"age1",
                      more:[{
                          name:"name2",
                          age:"age2",
                          more:[{
                              name:"name3",
                              age:"age3",
                              more:false
                          }]
                      }]
                  },
                  {
                      name:"name1",
                      age:"age1",
                      more:[{
                          name:"name2",
                          age:"age2",
                          more:[{
                              name:"name3",
                              age:"age3",
                              more:[{
                                  name:"name4",
                                  age:"age4",
                                  more:[{
                                      name:"name5",
                                      age:"age5",
                                      more:false
                                  }]
                              }]
                          }]
                      }]
                  }
              ];
              (function forEach(obj,div){
                  for(var i= 0,len=obj.length;i<len;i++){
                      var ul=document.createElement('ul');
                      for(var j in obj[i]){
                          if(!((typeof obj[i][j])==="string")){
                              continue;
                          }
                          var li=document.createElement('li');
                          var text=document.createTextNode(obj[i][j]);
                          li.appendChild(text);
                          ul.appendChild(li);
                      }
                      div.appendChild(ul);
                      if(!obj[i].more){
                          continue;
                      }
                      var mli=document.createElement('li');
                      ul.appendChild(mli);
                      forEach(obj[i].more,mli);
                  }
              })(obj,div);
      ~没有更多了~
      我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
      原文