Javascript 数组操作和循环

以下代码的输出在程序之后给出。我需要按以下顺序迭代 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.030000000000000027


i 是 0 j 是 2 -0.21999999999999997


我是 0 j 是 3 1.92


i 是 0 j 是 4 0.030000000000000027


3


i 是 1 j 是 2 -0.25


i 是 1 j 是 3 1.8900000000000001


我是 1 j 是 4 0


2


i 是 2 j 是 3 2.14


i 是 2 j 是 4 0.25


0


i 是 3 j 是 4 -1.8900000000000001


1


呼如林
浏览 130回答 3
3回答

大话西游666

只是按照您需要的顺序打印,试试这个:var RRIntervalArrayDiff = [];var validRRIntervalCount =0;var RRIntervalArrayy = [0.62,0.65,0.40,2.54,0.65];var n = RRIntervalArrayy.length;&nbsp; var revert = 0;for (i=0; i < n; i++){&nbsp; revert = 0;&nbsp; &nbsp; &nbsp;for (j=i+1; j< n ;j++){&nbsp; &nbsp; &nbsp; &nbsp;if(revert == 1 && j == i){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;&nbsp; &nbsp; &nbsp; &nbsp;}else if(revert == 1 && j != i){&nbsp; &nbsp; &nbsp; &nbsp; document.write(j + 1);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;continue;&nbsp; &nbsp; &nbsp; &nbsp;}&nbsp; &nbsp; &nbsp; &nbsp; document.write(j);&nbsp; &nbsp; &nbsp; &nbsp; if(j==(n-1)){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(revert == 0){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; j = -1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; revert = 1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; validRRIntervalCount = 0;&nbsp; &nbsp; document.write("</br>");}

慕尼黑5688855

严格做你想做的事:for (i=0; i < n; i++){&nbsp; var j = i + 1&nbsp; var count = 0&nbsp; while (count < n-1){&nbsp; &nbsp; if (j == n)&nbsp; &nbsp; &nbsp; j = 1&nbsp; &nbsp; // do your stuff&nbsp; &nbsp; count++&nbsp; &nbsp; j++&nbsp; }// do your stuff}

慕运维8079593

只需一点点模数魔法就可以为您完成工作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++) {&nbsp; for (j = i; j < n + i; j++) {&nbsp; &nbsp; var newJ = j % (n) + 1;&nbsp; &nbsp; //use newJ instead of j in your calculations&nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript