инструкция возврата остановить мой цикл в JavaScript - PullRequest
0 голосов
/ 12 июня 2019

когда я использую цикл 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';
  }
}

нет проблем, но когда я использую инструкцию возврата, остановка цикла:

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>';
                }

Спасибо

Ответы [ 2 ]

0 голосов
/ 15 июня 2019

я нашел решение

  {"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 голосов
/ 12 июня 2019

Когда вы выполняете 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;
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...