Skip to content

sortArray (数组排序)

sortArray 函数用于对数组进行排序。该函数支持自定义的比较函数,如果未提供比较函数,则会使用默认的排序逻辑。

函数调用方式

javascript
sortArray(arr, compareFn)

参数说明

参数名类型描述
arrArray要排序的数组。必须是一个数组。
compareFnFunction (可选)自定义的比较函数,接收两个参数并返回一个数字:
负数表示第一个参数在第二个之前,
0 表示相等,
正数表示第一个参数在第二个之后。

返回值

返回经过排序的数组。

异常处理

  • 如果 arr 不是一个数组,函数将抛出 TypeError,提示信息为 'The first argument must be an array.'

默认排序逻辑

如果未提供 compareFn,函数将使用以下默认逻辑进行排序:

  • 对于数字类型,进行升序排序。
  • 对于字符串类型,按字母升序排序。
  • 对于其他类型,首先将其转换为字符串,然后进行比较。

示例代码

基本用法

javascript
const numbers = [5, 3, 8, 1, 4];
const sortedNumbers = sortArray(numbers);
console.log(sortedNumbers); // 输出: [1, 3, 4, 5, 8]

使用自定义比较函数

javascript
const strings = ['banana', 'apple', 'orange'];
const sortedStrings = sortArray(strings, (a, b) => b.localeCompare(a));
console.log(sortedStrings); // 输出: ['orange', 'banana', 'apple']

错误处理示例

javascript
try {
    sortArray('not an array');
} catch (error) {
    console.error(error.message); // 输出: 'The first argument must be an array.'
}

结论

sortArray 函数是一个灵活且强大的工具,可以满足多种排序需求。通过提供自定义的比较函数,用户能够轻松地控制排序的逻辑,以适应不同的数据类型和排序规则。