javascript - while 循环因 jquery 中的某些数学函数而崩溃

标签 javascript php jquery ajax


所以我使用ajax从php获取一个数组。在ajax中,我想分解数组以将某些部分放入某些div中。
我在这里编写了代码,选择适合的部分并将它们放在那里:

while (array[x] != null) {
  y = 0;
  if (2 < x) {
    if (x == 3) {
      x = 0;
      y = x;
    } else {
      y = x / 2
    }
  }
  setTimeout(function() {
    if (y == 0 || x % 3 === 0) {
      var namestring = array[y];
      var namestring = array[y].replace('[', '');
      var namestring = namestring.replace('[', '');
      var namestring = namestring.replace('"', '');
      var namestring = namestring.replace('"', '');
    }
    if (y % 2 != 0 || y % 3 != 0 && x > 0) {
      alert(y);
      var date = array[y]
      var date = date.replace('"', '');
      var date = date.replace('"', '');
    }
    if (x % 2 == 0 && x > 0) {
      var text = array[y];
      var text = text.replace('"', '');
      var text = text.replace('"', '');
      var text = text.replace("]", '');
      var text = text.replace("]", '');

      createcard(namestring, date, text);
    }
  }, 500);
  if (x > 500) {
    break;
  };
  x = x + 1;
}

问题在于这部分:

if(2 < x) {
    if (x == 3) {
        x = 0;
        y = x;
        } else {
            y = x/2
    }
}

导致程序崩溃。如果我没有它,那么它就可以正常工作。另外,如果我没有这个,那么我的问题就不起作用。为什么会发生这种情况?
谢谢!

最佳答案

我解决了!

while (array[y] != null) {
                if (y == 0 || y % 3 === 0) {
                    alert(y);
                    var namestring = array[y];
                    alert(namestring);
                    var namestring = namestring.replace('[','');
                    var namestring = namestring.replace('[','');
                    var namestring= namestring.replace('"', '');
                    var namestring= namestring.replace('"', '');
                    y++;    
                }
                if (y % 2 != 0 || y % 3 != 0 && x > 0) {
                    var date = array[y]
                    var date = date.replace('"', '');
                    var date = date.replace('"', '');
                    y++;
                }
                if (y % 2 == 0 && y > 0) {
                    var text = array[y];
                    var text = text.replace('"', '');
                    var text = text.replace('"', '');
                    var text = text.replace("]", '');
                    var text = text.replace("]", '');
                    y++;

                    createcard(namestring,date,text);
                }
            if (y > 500) {
                break;
            };      
        }

关于javascript - while 循环因 jquery 中的某些数学函数而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36731169/

相关文章:

php - 使用 PHP 从 SQL 列获取所有值(仅返回一个值)

javascript - 移动的背景图片会随着移动而变大

带有 html 的 javascript 用于粘滞便笺

jquery - 使用 javascript 将 Base64 图像上传到 Google 云端硬盘

Javascript - 对象不支持 document.createEvent

javascript - 如何用 url slug 替换帖子 ID

javascript - 带有自定义进度条的 JQuery 文件上传 (blueimp)

php - Symfony:解析 web.xml 时出现 InvalidArgumentException

javascript - Highcharts 饼图悬停时不透明度发生变化

javascript - jQUery 代码在 IE 中不起作用