number数组排序

2020-12-22  本文已影响0人  Adder

这里记录两个手写方法的思路: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]

上一篇下一篇

猜你喜欢

热点阅读