这里记录两个手写方法的思路:1.找到不定长数组中的最小值;2.给不定长数组排序
number数组最小值
let testA = [9, 2, 32, 4, 22, 34, 3, 4, 1, 56, 768];
var min = (numbers) => {
if (numbers.length > 2) {
return min(
[numbers[0], min(numbers.slice(1))]
)
} else {
return numbers[0] > numbers[1] ? numbers[1] : numbers[0]
}
}
console.log('数组中最小值:', min(testA))
//数组中最小值:
// 1
number数组排序
var sort = (numbers) => {
if (numbers.length > 2) {
let minIndex = numbers.indexOf(min(numbers));;
let minNum = numbers[minIndex];
numbers.splice(minIndex, 1);
return [minNum].concat(sort(numbers))
} else {
return numbers[0] > numbers[1] ? numbers : numbers.reverse()
}
}
console.log('自定义排序', sort(testA))
//自定义排序
// [1, 2, 3, 4, 4, 9, 22, 32, 34, 768, 56]
网友评论