如果显示(15)我想要结果1,2,3,4,5,6,8,9,10,12,15,16,18,20,24

时间:2017-03-22 14:07:10

标签: javascript function for-loop

我有代码,如果显示(15)我想要的结果是1,2,3,4,5,6,8,9,10,12,15,16,18,20,24请帮帮我< / p>

&#13;
&#13;
function daz(num){
  for(var i = 1; i < num; i++){
    if(num % 7 === 0 || num % 11 === 0 || num % 14 === 0){return false}
    if(num % 2 === 0 || num % 3 === 0 || num % 4 ===0 || num % 5 === 0){
      return true;
    }
  }
}
function display(n){
  var zumba = [1];
  for(var i = 1; i<=n;i++){
    if(daz(i)){
      zumba.push(i);
    }
  }
  document.write(zumba);
}

display(15)
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:-2)

我认为您要打印使daz函数返回true的前15个数字。

因此,不需要在15个数字上运行循环,而是需要运行循环,直到找到15个这样的数字。这是正确的代码:

function daz(num){
  for(var i = 1; i < num; i++){
    if(num % 7 === 0 || num % 11 === 0 || num % 14 === 0){return false}
    if(num % 2 === 0 || num % 3 === 0 || num % 4 ===0 || num % 5 === 0){
      return true;
    }
  }
}
function display(n){
  var zumba = [1];
  var count = 1;
  for(var i = 1; count < n;i++){
    if(daz(i)){
      zumba.push(i);
      count++;
    }
  }
  document.write(zumba);
}

display(15)