Heim >Web-Frontend >js-Tutorial >js 3种归并操作的实例代码_javascript技巧
第一种:
while (result.length if (ap if(a[ap] > b[bp]){
result.push(b[bp++]);
} else {
result.push(a[ap++]);
}
} else if (!(ap while(bp result.push(b[bp++]);
}
} else if (!(bp while(ap result.push(a[ap++]);
}
}
}
return result;
}
第二种:
第三种:
if(x == a.length){
for(var y = l; y list.push(b[y]);
}
}else{
for(var z = x; z list.push(a[z]);
}
}
return list;
}
经过测试2个有序20W长度的数组归并耗时都在15毫秒以下。
以下有几条经验(在大量操作的时候才能体现,平时不需要做这样的优化。代码可读性还是第一原则)
1:数组的concat方法比直接for循环push要慢。
2:for循环比while循环快。
3:var a = b || 3; //这种操作很消耗时间
4: break,continue 在已确定不需要再循环时很耗时。