JavaScript - TypedArray of() 方法



JavaScript TypedArray 的 of() 方法根據指定數量的引數建立一個新的型別化陣列。它返回一個包含作為引數提供的元素的型別化陣列例項。引數必須與結果型別化陣列的元素具有相同型別

如果我們傳遞的引數值為'undefined''empty',它將建立一個元素值為0的新型別化陣列。

這是一個靜態方法,這意味著它可以在不建立 TypedArray 物件例項的情況下呼叫(如 TypedArray.of())。TypedArray 物件可以是 TypedArray 的任何子類,例如 Uint8Array、Int16Array 等。

語法

以下是 JavaScript TypedArray of() 方法的語法:

TypedArray.of(element1, element2, /*..., */ elementN)

引數

此方法接受多個相同型別的引數,即:'element1','element2',....'elementN'。具體說明如下:

  • element1,..., elementN - 用於建立新型別化陣列的元素。

返回值

此方法返回新型別化陣列的例項。

示例

示例 1

如果傳遞空('') 字串,它將被轉換為數字0 並新增到型別化陣列中。

在下面的程式中,我們使用 JavaScript TypedArray of() 方法建立一個具有指定空('') 引數值的新型別化陣列。

<html>
<head>
   <title>JavaScript TypedArray of() Method</title>
</head>
<body>
   <script>
      //Unit8Array
      let T_array = Uint8Array.of('');
      document.write("The new typed array: ", T_array);
      document.write("<br>Length of typed array: ", T_array.length);
   </script>
</body>
</html>

輸出

上述程式建立一個新的型別化陣列 [0]。

The new typed array: 0
Length of typed array: 1

示例 2

如果我們向此方法傳遞多個相同型別的引數,它將使用這些引數值建立一個新的型別化陣列。

以下是 JavaScript TypedArray of() 方法的另一個示例。我們使用此方法使用指定值'10','20','30','40' 和 '50' 建立一個新的型別化陣列。

<html>
<head>
   <title>JavaScript TypedArray of() Method</title>
</head>
<body>
   <script>
      //Unit16Array
      let ele1 = '10';
      let ele2 = '20';
      let ele3 = '30';
      let ele4 = '40';
      let ele5 = '50';
      document.write("Element1 = ", ele1);
      document.write("<br>Element2 = ", ele2);
      document.write("<br>Element3 = ", ele3);
      document.write("<br>Element4 = ", ele4);
      document.write("<br>Element5 = ", ele5);
      let T_array = Uint16Array.of(ele1, ele2, ele3, ele4, ele5);
      document.write("<br>The new typed array: ", T_array);
      document.write("<br>Length of typed array: ", T_array.length);
   </script>
</body>
</html>

輸出

執行上述程式後,它將返回新型別化陣列的例項,如下所示:

Element1 = 10
Element2 = 20
Element3 = 30
Element4 = 40
Element5 = 50
The new typed array: 10,20,30,40,50
Length of typed array: 5

示例 3

如果我們將'undefined' 作為引數傳遞給of() 方法,它將建立一個元素值為 0 的新型別化陣列。

在下面的示例中,我們使用型別化陣列of() 方法使用指定的引數值'undefined' 建立一個新的型別化陣列。

<html>
<head>
   <title>JavaScript TypedArray of() Method</title>
</head>
<body>
   <script>
      //Unit8Array
      let T_array = Uint8Array.of(undefined);
      document.write("The new typed array: ", T_array);
      document.write("<br>Length of typed array: ", T_array.length);
   </script>
</body>
</html>

輸出

執行上述程式後,它將建立一個元素值為 0 的新型別化陣列。

The new typed array: 0
Length of typed array: 1

示例 4

如果此方法的值不是有效的型別化陣列建構函式,則of() 方法將丟擲'TypeError' 異常。例如,如果嘗試在數字、字串或物件上呼叫該方法,則會得到 TypeError。

<html>
<head>
   <title>JavaScript TypedArray of() Method</title>
</head>
<body>
   <script>
      try {
         let T_array = "Hello".of(1, 2, 3);
         document.write("The new typed array: ", T_array);
         document.write("<br>Length of typed array: ", T_array.length);
      } catch (error) {
         document.write(error);
      }
   </script>
</body>
</html>

輸出

上述程式將丟擲 'TypeError' 異常:

TypeError: "Hello".of is not a function
廣告