📜  JavaScript | typedArray.sort() 与示例(1)

📅  最后修改于: 2023-12-03 15:01:39.512000             🧑  作者: Mango

JavaScript | typedArray.sort() 与示例

介绍

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]

这个例子中,我们按照元素的绝对值大小来排序,首先比较绝对值,绝对值小的元素排在前面。如果绝对值相等,则按照数字顺序排序。