如何实现跳过

Array.prototype.distinct = function(){   var arr = this,
    result = [],
    i,
    j,
    len = arr.length;   for(i = 0; i < len; i++){    for(j = i + 1; j < len; j++){     if(arr[i] === arr[j]){
      j = ++i; // 这里为什么就可以实行跳过
     }
    }
    result.push(arr[i]);// i 为什么不是 0 1 2 3 4 
   }   console.log(result);   return result;

  }  var arra = [1,2,3,1,1];// 外层 到最后一个数组项 i=4 内部j=5 如何运行
  arra.distinct();


撒科打诨
浏览 621回答 2
2回答

米脂

// i 为什么不是 0 1 2 3 4&nbsp;++i&nbsp;就是&nbsp;i=i+1然后返回i本身;// 外层 到最后一个数组项 i=4 内部j=5 如何运行j=5不符合循环条件j<len,不执行循环体。

莫回无

其实你可以锊一下程序怎么走的主要是&nbsp;j&nbsp;=&nbsp;++i; 第一次循环后,内循环结束时&nbsp;if条件满足&nbsp;++i了&nbsp;&nbsp;此时i=1,&nbsp;&nbsp;&nbsp;外循环有一个自增i++&nbsp;此时第一次外循环后i=2第二次循环i的起始值为2,内循环时没有满足if条件,内循环结束时&nbsp;i=2&nbsp;外循环结束后i=3....
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript