首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >返回指令在javascript中停止我的for循环

返回指令在javascript中停止我的for循环
EN

Stack Overflow用户
提问于 2019-06-13 03:13:16
回答 2查看 35关注 0票数 0

当我使用for循环时,在

for (var h = 0; h < xt.length; h++) {
  var heart = '';
  console.log(xt[h]);
  if (row[0] == xt[h]) {
    heart = 'icon-heart';
  } else {
    heart = 'icon-    heart1';
  }
}

但是当我使用return指令时,循环停止了:

for (var h = 0; h < xt.length; h++) {
  var heart = '';
  console.log(xt[h]);
  if (row[0] == xt[h]) {
    heart = 'icon-heart';
  } else {
    heart = 'icon-heart1';
  }
  return '<i class="' + heart + '" onClick="addFAv(this)"  data-id="' + row[0] + '" data-name="' + row[1] + '"></i> <a href="#" class="icon-line-clipboard i-circled i-small"></a> <a href="#" class="icon-file-alt2 i-circled i-small"></a>';
}

你知道为什么吗?

函数中的整个代码是

$('#recevabilite').dataTable({
      "scrollY": "200px",
      "scrollCollapse": true,
      "paging": false,
      stateSave: true,
      "dom": '<"#recev.top">irt',
      "columnDefs": [{
            "visible": false,
            "targets": [3]
          },
          {
            "render": function(data, type, row) {
                //    var date1 = new Date()+10J;
                //affichage des icones  
                var x = localStorage.getItem("listeFavoris");
                xt = x.split(',');

                for (var h = 0; h < xt.length; h++) {
                  var heart = '';
                  console.log(xt[h]);
                  if (row[0] == xt[h]) {
                    heart = 'icon-heart';
                  } else {
                    heart = 'icon-heart1';
                  }
                  return '<i class="' + heart + '" onClick="addFAv(this)"  data-id="' + row[0] + '" data-name="' + row[1] + '"></i> <a href="#" class="icon-line-clipboard i-circled i-small"></a> <a href="#" class="icon-file-alt2 i-circled i-small"></a>';
                }

谢谢

EN

回答 2

Stack Overflow用户

发布于 2019-06-13 04:08:08

当您执行return时,它将结束函数,因此您不会执行循环的任何进一步迭代。

您需要连接每次循环迭代的值,然后在循环后返回最终结果:

            "render": function(data, type, row) {
                //    var date1 = new Date()+10J;
                //affichage des icones  
                var x = localStorage.getItem("listeFavoris");
                var xt = x.split(',');
                var html = '';
                for (var h = 0; h < xt.length; h++) {
                  var heart = '';
                  console.log(xt[h]);
                  if (row[0] == xt[h]) {
                    heart = 'icon-heart';
                  } else {
                    heart = 'icon-heart1';
                  }
                  html += '<i class="' + heart + '" onClick="addFAv(this)"  data-id="' + row[0] + '" data-name="' + row[1] + '"></i> <a href="#" class="icon-line-clipboard i-circled i-small"></a> <a href="#" class="icon-file-alt2 i-circled i-small"></a>';
                }
              return html;
            }
票数 0
EN

Stack Overflow用户

发布于 2019-06-15 05:00:15

我已经找到解决方案了

  {"render": function(data, type, row) {
            //    var date1 = new Date()+10J;
            //affichage des icones  
            var x = localStorage.getItem("listeFavoris");
            var xt = x.split(',');
            var html = '<a href="#" class="icon-line-clipboard i-circled i-small"></a> <a href="#" class="icon-file-alt2 i-circled i-small"></a>';
            for (var h = 0; h < xt.length; h++) {
              var heart = '';
              console.log(xt[h]);
              if (row[0] == xt[h]) {
                heart = 'icon-heart';
                  h = xt.length; }
              html += '<i class="' + heart + '" onClick="addFAv(this)"  data-id="' + row[0] + '" data-name="' + row[1] + '"></i>';
            }
        if   (heart == '') {
        html += '<i class="icon-heart1" onClick="addFAv(this)"  data-id="' + row[0] + '" data-name="' + row[1] + '"></i>';}
          return html;

        }, "targets": 4}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56568936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档