sortArray (数组排序)
sortArray
函数用于对数组进行排序。该函数支持自定义的比较函数,如果未提供比较函数,则会使用默认的排序逻辑。
函数调用方式
javascript
sortArray(arr, compareFn)
参数说明
参数名 | 类型 | 描述 |
---|---|---|
arr | Array | 要排序的数组。必须是一个数组。 |
compareFn | Function (可选) | 自定义的比较函数,接收两个参数并返回一个数字: 负数表示第一个参数在第二个之前, 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
函数是一个灵活且强大的工具,可以满足多种排序需求。通过提供自定义的比较函数,用户能够轻松地控制排序的逻辑,以适应不同的数据类型和排序规则。