这一题考察排序的实现,最常见的就是冒泡,第一个学的也是冒泡..这一题根据给定的数组和函数,返回一个排序后的数组,fn 会返回数字,它将决定排序后的数组的排序顺序。要求排序数组要根据fn返回的数组进行升序排序不使用sort方法进行排序快速排序题解var sortBy = function(arr,fn){ let len = arr.length //结束排序的条件 if(len <= 1) return arr //取中间索引 let minIndex = Math.floor(len / 2) //取中间数 let mid = arr[minIndex] //取左右数组 用于每次的分组和排序 let left = [] let right = [] for(let i = 0; i < len; i++){ if(fn(arr[i]) === fn(mid)) continue //中间基数直接跳过 else if(fn(arr[i]) < fn(mid)) left.push(arr[i]) /
Harexs
风归云动,天河泻梦