JavaScript - TypedArray subarray() 方法



JavaScript TypedArray 的subarray()方法用于检索此类型化数组的子部分。它不会修改原始类型化数组,而是返回一个新的类型化数组对象。它接受两个参数,用于指定类型化数组中元素的位置(索引)。

语法

以下是 JavaScript TypedArray 的subarray()方法的语法:−

subarray(begin, end)

参数

此方法接受两个可选参数,名为“begin”和“end”,如下所述:−

  • begin − 它是从开始位置检索元素的起始位置。

  • end − 它是检索元素的结束位置(不包括)。

返回值

此方法返回一个新的类型化数组对象。

示例

示例 1

如果省略“begin”和“end”这两个参数,则此方法将返回一个新的类型化数组对象,其中包含原始类型化数组的所有元素。因此,如果不指定任何范围,它实际上会创建整个数组的副本。

在下面的程序中,我们使用 JavaScript TypedArray 的subarray()方法来检索此类型化数组 [1, 2, 3, 4, 5] 的子部分。

<html>
<head>
   <title>JavaScript TypedArray subarray() Method</title>
</head>
<body>
   <script>
      const T_array = new Uint8Array([1, 2, 3, 4, 5]);
      document.write("Original typed array: ", T_array);
      let new_t_array = new Uint8Array([]);
      new_t_array = T_array.subarray();
      document.write("<br>New typed array: ", new_t_array);
   </script>    
</body>
</html>

输出

以上程序返回一个新的类型化数组,如下所示:[1, 2, 3, 4, 5]。

Original typed array: 1,2,3,4,5
New typed array: 1,2,3,4,5

示例 2

如果我们省略end参数,只传递begin参数,则此方法将返回一个新的类型化数组,该数组从指定的 begin 位置开始到最后一个元素。

在此示例中,我们对类型化数组使用subarray()方法来检索此类型化数组 [10, 20, 30, 40, 50, 60, 70, 80] 的子部分。子数组从指定的起始位置2开始。

<html>
<head>
   <title>JavaScript TypedArray subarray() Method</title>
</head>
<body>
   <script>
      const T_array = new Uint8Array([10, 20, 30, 40, 50, 60, 70, 80]);
      document.write("Original typed array: ", T_array);
      const begin = 2;
      document.write("<br>Begin at: ", begin);
      let new_t_array = new Uint8Array([]);
      new_t_array = T_array.subarray(begin);
      document.write("<br>New typed array: ", new_t_array);
   </script>    
</body>
</html>

输出

执行上述程序后,它将返回一个新的类型化数组,如下所示:[30, 40, 50, 60, 70, 80]。

Original typed array: 10,20,30,40,50,60,70,80
Begin at: 2
New typed array: 30,40,50,60,70,80

示例 3

如果我们将“begin”和“end”这两个参数都传递给此方法,则它将返回一个新的类型化数组,该数组从指定的 begin 位置开始,一直延伸到但不包括 end 位置。

在下面的程序中,我们对类型化数组使用subarray()方法来检索此类型化数组 [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] 的子部分,从位置4开始,到位置8之前结束。

<html>
<head>
   <title>JavaScript TypedArray subarray() Method</title>
</head>
<body>
   <script>
      const even_t_array = new Uint8Array([2, 4, 6, 8, 10, 12, 14, 16, 18, 20]);
      document.write("Original typed array: ", even_t_array);
      const begin = 4;
      const end = 8;
      document.write("<br>Begin at: ", begin);
      document.write("<br>End at: ", end);
      let new_t_array = new Uint8Array([]);
      new_t_array = even_t_array.subarray(begin, end);
      document.write("<br>New typed array: ", new_t_array);
   </script>    
</body>
</html>

输出

执行上述程序后,它将返回一个新的类型化数组,如下所示:−

Original typed array: 2,4,6,8,10,12,14,16,18,20
Begin at: 4
End at: 8
New typed array: 10,12,14,16
广告

© . All rights reserved.