前端业务组件开发过程中用到的算法知识不多。 但是作为程序员,基本的算法还是必会的。 如果作为底层开发者,考虑的东西就很多了。就拿vue的性能优化来说, diff算法也是大厂面试必考题。 做了一年的前端开发,用到递归还是比较多的。 组织树的渲染,需要把后端返回的平面结构数据转为多维结构数据。 前端传参给后端需要把多维数据结构转一维。(类似原生的flat方法) 下面实现以下js的快速排序:
function quickSort(arr){
if(arr.length==0)return [];
if(arr.length==1){
return arr;
}
let midIndex=Math.floor(arr.length/2);
let left=arr.filter((item,index,result)=>{
return item <result[midIndex];
})
let right=arr.filter((item,index,result)=>{
return item > result[midIndex];
})
return quickSort(left).concat([arr[midIndex]],quickSort(right));
}
|