数组循环遍历优化和数组去重算法

数组去重算法:
array.sort(function(a,b){
   return a<b ? 1:(a > b ? -1 :0);
});
 newArray=[array[0]];
for(var i=0,len =array.length;i<len;i++){
    if(array[i]!==newArray[newArray.length-1]){
             newArray.push(array[i]);
    }
}
算法时间复杂度O(n),避免双重循环;

数组遍历优化算法:

var nLeft=array.length % 8 ,//余数
      nRounds  = array.length / 8,//循环次数
       i=0;
    
 while(nLeft--){
           process(array[i++]);
}
      
  while(nRounds--) {
       process(array[i++]);
        process(array[i++]);
        process(array[i++]);
        process(array[i++]);
        process(array[i++]); 
        process(array[i++]); 
        process(array[i++]);
        process(array[i++]);
}    

利用Duff Device设备 减少了循环次数,提升数组处理能力

你可能感兴趣的:(Web,数组去重,数组循环遍历操作)