快速排序数组 quickSort – JavaScript 实用代码片段

快速排序数组(默认按升序排序)。

使用递归。使用Array.filter和展开运算符(...) 来创建一个数组,其中所有小于比较元素的值都在比较元素之前,并且所有大于比较元素元素都在比较元素之后。如果参数desc为真值,返回数组按降序排序。

const quickSort = ([n, ...nums], desc) =>
  isNaN(n)
    ? []
    : [
        ...quickSort(nums.filter(v => (desc ? v > n : v <= n)), desc),
        n,
        ...quickSort(nums.filter(v => (!desc ? v > n : v <= n)), desc)
      ];
quickSort([4, 1, 3, 2]); // [1,2,3,4]
quickSort([4, 1, 3, 2], true); // [4,3,2,1]

更多代码 JavaScript 实用代码片段 请查看 https://www.html.cn/30-seconds-of-code/

赞(0) 打赏
未经允许不得转载:WEB前端开发 » 快速排序数组 quickSort – JavaScript 实用代码片段

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏