虽然前端面试中很少会考到算法类的题目,但是你去大厂面试的时候就知道了,对基本算法的掌握对于从事计算机科学技术的我们来说,还是必不可少的,每天花上 10 分钟,了解一下基本算法概念以及前端的实现方式。

另外,掌握了一些基本的算法实现,对于我们日常开发来说,也是如虎添翼,能让我们的 js 业务逻辑更趋高效和流畅。

js 原生排序函数

方便的是,js 的数组就有个原生排序函数,省去了我们每次都要自己去定义实现:

1
Array.prototype.sort([compareFunction])

默认是按 Unicode 码从小到大排序的,当然我们也可以传入自定义的比较函数。如果指明了 compareFunction,那么数组会按照调用该函数的返回值排序:

  • 如果 compareFunction(a, b) 的返回值小于 0,那么 a 会被排列到 b 之前;
  • 如果 compareFunction(a, b) 的返回值大于 0,那么 a 会被排列到 b 之后;

下面我们来借助原生排序函数来实现倒序:

1
2
3
4
5
var arr = [1, 2, 3];

arr.sort(function(a, b){
return b-a;
});

即将开始

虽说已经能方便使用官方提供实现的排序函数,但是我们还得立足于根本,万丈高楼平地起,懂得了底层实现之后,才能在以后靠自己创造实现更多更实用更高效的算法。