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’
var minNumber = function(nums) {
nums = nums.map(d => String(d))
nums.sort((a,b) => {
return Number(a+b) - Number(b+a)
})
// console.log(nums)
let res = nums.reduce((a, c) => a+c, '')
return res;
};