对于我的Quicksort算法,我如何才能使它对字符串和对象进行排序?

时间:2015-11-25 01:25:50

标签: javascript quicksort

My Quicksort工作正常,代码在这里:

https://gist.github.com/RoloRobot/b2e15af9ab0d8c1bdbdd

我想要做的是不仅要对数字进行排序,还要对字符串和对象进行排序。我该怎么做呢?任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:3)

您可以创建一个与quickSort

相同的compare功能
// numbers or strings
quickSort(array, left, right, (a, b) => a < b)

// custom objects comparison (by foo key)
quickSort(array, left, right, (a, b) => a.foo < b.foo)

如果您不想手动设置它们,您可以自动检测类型:

if (typeof item === 'string') { compare = compareStrings; }