📅  最后修改于: 2023-12-03 15:01:39.512000             🧑  作者: Mango
typedArray.sort() 方法用于对 TypedArray 中的元素进行排序。该方法会改变原数组。
该方法的语法如下:
typedArray.sort([compareFunction])
其中, compareFunction
是可选参数,用于指定排序规则。如果不指定,则按照数字顺序排序。
如果想降序排序,则可以在 compareFunction
函数中实现倒序排序。
let numArr = new Int8Array([4, 2, 7, 1, 9]);
numArr.sort();
console.log(numArr);
// 输出:Int8Array [1, 2, 4, 7, 9]
let strArr = new Uint8Array('sort an array'.split('').map(c => c.charCodeAt(0)));
strArr.sort();
console.log(strArr);
// 输出:Uint8Array [32, 32, 97, 97, 97, 97, 114, 114, 114, 115, 116, 116, 121]
let objArr = new Int16Array([4, -2, 7, -1, 9]);
objArr.sort((a, b) => {
if (Math.abs(a) < Math.abs(b)) {
return -1;
}
if (Math.abs(a) > Math.abs(b)) {
return 1;
}
return 0;
});
console.log(objArr);
// 输出:Int16Array [-1, -2, 4, 7, 9]
这个例子中,我们按照元素的绝对值大小来排序,首先比较绝对值,绝对值小的元素排在前面。如果绝对值相等,则按照数字顺序排序。