js中的sort()方法用于对数组元素进行排序。
V8 引擎 sort 函数只给出了两种排序 InsertionSort 和 QuickSort

  • 数组长度小于等于 10 的用插入排序 InsertionSort,
  • 比 10 大的数组则使用快速排序 QuickSort。

https://github.com/v8/v8/blob/ad82a40509c5b5b4680d4299c8f08d6c6d31af3c/src/js/array.js#L765

剑指 Offer 45. 把数组排成最小的数

⚠️ js原生sort, 已经a+b必须是字符串拼接
[3,30,34,5,9]
3+30 = 33, 30+3 = 33; ‘3’+’30’= ‘330’, ‘30’+’3’ = ‘303’

  1. var minNumber = function(nums) {
  2. nums = nums.map(d => String(d))
  3. nums.sort((a,b) => {
  4. return Number(a+b) - Number(b+a)
  5. })
  6. // console.log(nums)
  7. let res = nums.reduce((a, c) => a+c, '')
  8. return res;
  9. };