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

Javascript 数组操作和循环

Javascript 数组操作和循环

呼如林 2021-12-02 15:21:41
以下代码的输出在程序之后给出。我需要按以下顺序迭代 j 值 (1,2,3,4),(2,3,4,1),(3,4,1,2),(4,1,2,3) 但是它的顺序是 (1,2,3,4),(2,3,4),(3,4),(4) 。任何帮助深表感谢var RRIntervalArrayDiff = [];var validRRIntervalCount =0;var RRIntervalArrayy = [0.62,0.65,0.40,2.54,0.65];var n = RRIntervalArrayy.length;for (i=0; i < n; i++){    for (j=i+1; j<n ;j++){        document.write("</br>");        document.write("i is "+i+" j is "+j);        var h = (RRIntervalArrayy[j] - RRIntervalArrayy[i]);        document.write("</br>");        if(h < 0.12){            validRRIntervalCount++;        }        document.write(h);        if(j==(n-1)){            document.write("</br>");            document.write(validRRIntervalCount)            break;        }    }        validRRIntervalCount = 0;    document.write("</br>");}      输出i 是 0 j 是 1 0.030000000000000027i 是 0 j 是 2 -0.21999999999999997我是 0 j 是 3 1.92i 是 0 j 是 4 0.0300000000000000273i 是 1 j 是 2 -0.25i 是 1 j 是 3 1.8900000000000001我是 1 j 是 4 02i 是 2 j 是 3 2.14i 是 2 j 是 4 0.250i 是 3 j 是 4 -1.89000000000000011
查看完整描述

3 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

只是按照您需要的顺序打印,试试这个:


var RRIntervalArrayDiff = [];

var validRRIntervalCount =0;

var RRIntervalArrayy = [0.62,0.65,0.40,2.54,0.65];

var n = RRIntervalArrayy.length;

  var revert = 0;

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

  revert = 0;

     for (j=i+1; j< n ;j++){

       if(revert == 1 && j == i){

         break;

       }else if(revert == 1 && j != i){

        document.write(j + 1);

         continue;

       }

        document.write(j);

        if(j==(n-1)){

          if(revert == 0){

            j = -1;

            revert = 1;

          }

        }

    }    

    validRRIntervalCount = 0;

    document.write("</br>");

}


查看完整回答
反对 回复 2021-12-02
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

严格做你想做的事:


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

  var j = i + 1

  var count = 0

  while (count < n-1){

    if (j == n)

      j = 1

    // do your stuff

    count++

    j++

  }

// do your stuff

}


查看完整回答
反对 回复 2021-12-02
?
慕运维8079593

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

只需一点点模数魔法就可以为您完成工作


var RRIntervalArrayDiff = [];

var validRRIntervalCount = 0;

var RRIntervalArrayy = [0.62, 0.65, 0.40, 2.54, 0.65];

var n = RRIntervalArrayy.length;

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

  for (j = i; j < n + i; j++) {

    var newJ = j % (n) + 1;

    //use newJ instead of j in your calculations

  }

}


查看完整回答
反对 回复 2021-12-02
  • 3 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

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