繁体   English   中英

如何制作 JavaScript while 循环来存储可被两个值整除的值?

[英]How can I make a JavaScript while-loop for storing values that are divisible by two values?

我正在尝试在 JS 中创建一个 while 循环,它将所有值添加到一个逗号分隔的字符串中,范围为 28 到 63,其中该值可以被 5 或 7 整除。

我的问题在于找到一种方法来检查值分割与两个5或7。

但是我这辈子都做不到了,任何建议都会被采纳。

这是我走了多远。

var text = "";
i = 28;

while (i < 63) {
    i++
    if (i % 5 || i % 7 === 0) {
        if (i === 28) text = i;
        else {
            text = text + "," + i
        }
    }
}

console.log(text);

这就是我得到的结果

",29,31,32,33,34,35,36,37,38,39,41,42,43,44,46,47,48,49,51,52,53,54,56,57,58,59,61,62,63" (string)

你的第一个if条件有一个小错误。 它应该是:

if (i % 5 === 0 || i % 7 === 0)

如果您希望该值可以被57整除,您需要将条件更改为: if (i % 5 === 0 && i % 7 === 0)如果该值应该可以被57 then if (i % 5 === 0 || i % 7 === 0)

这将满足

var text = "";
i = 28;
while (i < 63) {
  i++
  if (i % 5 ===0 || i % 7 === 0) {
    if (i === 28) text = i;
    else {
      text = text.length ? `${text},${i}`:`${text}${i}`;
    }
  }
}
console.log(text);

所需的输出将是"30,35,40,42,45,49,50,55,56,60,63"

function myFunction() {
  var text = "";
  var iNum = 28;

  while (iNum < 68) {
      if ((iNum % 5 === 0) || (iNum % 7 === 0)) {
        text = iNum;
      }    else    {
        text = text + "," + iNum
      }
      iNum++
  }
  console.log(text);
}

希望这可以回答你的问题。

我会提出的第一个建议是始终创建一个完整的条件。 我的意思是你有i % 5 || i % 7 === 0 i % 5 || i % 7 === 0应该是i % 5 === 0 || i % 7 === 0 i % 5 === 0 || i % 7 === 0 看到我在你的第一个条件中添加了=== 0 一旦你添加一个|| &&两个条件是分开的。

这个例子可以回答你的问题:

i = 28;

while (i < 63) {
    i++
    if (i % 5 === 0 || i % 7 === 0 || i % 5 === 0 && i % 7 === 0) {
        if (i === 28) text = i;
        else {
            text = text + "," + i
        }
    }
}

console.log(text);

我又加了一个|| 使用 AND/&& 条件。 该条件检查数字是否可以被 5 和 7 整除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM