为了账号安全,请及时绑定邮箱和手机立即绑定

如何在循环 JavaScript 中跳过一个数字?

如何在循环 JavaScript 中跳过一个数字?

潇潇雨雨 2022-05-26 11:16:30
var text = "";var i;for (i = 0; i < 10; i++) {  if (!i == 5)  text += "The number is " + i + "<br>";} document.getElementById("demo").innerHTML = text;<p id="demo"></p>在上面的代码中,我想从 0 循环到 10,但我想跳过数字 5。我想从 0 显示到 4,跳过 5,然后从 6 显示到 10。上面的代码不起作用。
查看完整描述

3 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

您可以使用continue


var text = "";

var i;

for (i = 0; i < 10; i++) {

  if (i == 5) continue;

  text += "The number is " + i + "<br>";


document.getElementById("demo").innerHTML = text;

<p id="demo"></p>


另一种方法是将代码包装在块内的if语句中for


var text = "";

var i;

for (i = 0; i < 10; i++) {

  if (i !== 5){

    text += "The number is " + i + "<br>";

  }


document.getElementById("demo").innerHTML = text;

<p id="demo"></p>


查看完整回答
反对 回复 2022-05-26
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

if (!i == 5)应该if (i !== 5)



查看完整回答
反对 回复 2022-05-26
?
慕后森

TA贡献1802条经验 获得超5个赞

您还可以创建一个生成器,生成不在其“跳过”列表中的索引。


const rangeWithSkip = function*(start, end, skips) {

  for (let i = start; i < end; i++) {

    if (skips.includes(i)) continue;

    yield i;

  }

}


let textArr = [];

for (let i of rangeWithSkip(0, 10, [3, 5, 8])) {

  textArr.push(`The number is ${i}`);

}

document.getElementById("demo").innerHTML = textArr.join('<br />');

<p id="demo"></p>


查看完整回答
反对 回复 2022-05-26
  • 3 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信