Open apacheao opened 4 years ago
/** * 查找数组中的最小值 */ const min = (arr) => { if (!arr || !Array.isArray(arr)) new Error("must receive a type is Array parmas"); return const arrLen = arr.length; if(arrLen > 2) { return min([arr[0], min(arr.slice(1))]); } else { return Math.min.apply(null, arr); } } /** * 查找数组中的最小值的索引 */ const minIndex = (arr) => { return arr.indexOf(min(arr)) }; /** * 将数组从小到大进行排序 */ const sort = (arr) => { if (!arr || !Array.isArray(arr)) new Error("must receive a type is Array parmas"); return const arrLen = arr.length; if(arrLen > 2) { let index = minIndex(arr); let min = arr[index]; arr.splice(index, 1); return [min].concat(sort(arr)) } else { return arr[0] > arr[1] ? arr.reverse() : arr } }