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
廣告