JavaScript - TypedArray sort() 方法



JavaScript TypedArray sort() 方法用于对当前类型化数组的元素进行排序。它返回对原始类型化数组的引用。此外,它还接受一个名为 'compareFn' 的可选参数,该参数定义类型化数组元素的排序顺序。

compareFn 函数应返回一个数字,用于确定两个元素的顺序。如果第一个元素(比如 a)小于第二个元素(比如 b),则函数应该返回一个正数。如果 'a' 大于 'b',则函数应返回负数。如果两个元素相等,则函数应返回零。

语法

以下是 JavaScript TypedArray sort() 方法的语法 -


 sort(compareFn)

参数

此方法接受一个名为“compareFn”的可选参数,如下所述 -

  • compareFn(可选)− 定义排序顺序的函数。

返回值

此方法按排序顺序返回相同类型数组的引用。

示例 1

在下面的示例中,我们使用 JavaScript TypedArray sort() 方法对当前类型化数组 [30, 25, 10, 15, 8] 的元素进行排序。


<html>
<head>
   <title>JavaScript TypedArray sort() Method</title>
</head>
<body>
   <script>
      const T_array = new Uint8Array([30, 25, 10, 15, 8]);
      document.write("TypeArray before sorting: ");
      document.write(T_array);
      T_array.sort();
      document.write("<br>TypedArray after sorting: ");
      document.write(T_array);
   </script>    
</body>
</html>

输出

上面的程序返回排序的类型数组为 [8, 10, 15, 25, 30]。

TypeArray before sorting: 30,25,10,15,8
TypedArray after sorting: 8,10,15,25,30

示例 2

这是使用 JavaScript TypedArray sort() 方法的另一个示例。在此示例中,我们创建了一个名为 compare (a, b) 的函数,该函数比较两个参数 a 和 b,并返回 a - b。我们将此函数作为参数传递给 sort() 方法,以按升序对类型化数组的元素进行排序。


<html>
<head>
   <title>JavaScript TypedArray sort() Method</title>
</head>
<body>
   <script>
      function comapre(a, b){
         return a-b;
      }
      const T_array = new Uint8Array([10, 2, 1, 200, 50]);
      document.write("TypedArray before sorting: ", T_array);
      T_array.sort(comapre);
      document.write("<br>TypedArry after sorting: ", T_array);
   </script>    
</body>
</html>

输出

执行上述程序后,它将返回排序后的 typedarray 为 [1, 2, 10, 50, 200]。

TypedArray before sorting: 10,2,1,200,50
TypedArry after sorting: 1,2,10,50,200