Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
546 views
in Technique[技术] by (71.8m points)

for 循环中的if语句报错

   var arr = [34,13,56,88,76,21,98,76,43,54];
   var temp = 0;
    for(var i = 0; i < arr.length; i++) {
        for(var j = 0; j< arr.length-i; j++) {
            if(!(arr[j] < arr[j+1])) {
                temp = arr[j + 1];
                arr[j + 1] = arr[j];
                arr[j] = temp;
            }
        }
    }
    console.log(!(34 < 54)); //false
    console.log(arr);

双重循环中的if()条件判断语句崩了,但是下面的console语句得到了false

控制台报错,第一次碰到这个问题,求大神解答

clipboard.png


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

i = 0 是,内部j循环j从0取到arr.length-1
那么 j = arr.length-1 的时候arr[j+1]就会溢出


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

56.8k users

...