JavaScript - TypedArray map() 方法



JavaScript TypedArray 的map() 方法會建立一個新的 TypedArray,其中包含對原始 TypedArray 中每個元素應用使用者提供的函式的結果。

  • map() 方法對 TypedArray(例如 Uint8Array、Int16Array 等)進行操作。

  • 它接受一個測試函式作為引數。

  • 測試函式針對 TypedArray 中的每個元素執行。

  • 如果某個元素滿足測試函式指定的條件(返回真值)。

語法

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

map(callbackFn, thisArg)

引數

此方法接受兩個名為“callbackFn”和“thisArg”的引數,下面分別進行描述:

callbackFn - 此引數是一個測試函式,它將針對 TypedArray 中的每個元素執行。

此函式還接收三個名為“element”、“index”和“array”的引數。以下是每個引數的說明:

  • element - 表示 TypedArray 中當前正在處理的元素。

  • index - 指示 TypedArray 中當前元素的索引(位置)。

  • array - 指的是整個 TypedArray。

thisArg(可選) - 這是一個可選引數,允許您指定this在 callbackFn 中的值。

返回值

此方法返回一個新的 TypedArray,其中每個元素都是回撥函式的輸出。

示例

示例 1

在以下程式中,我們使用 JavaScript TypedArray 的map() 方法建立一個新的 TypedArray,其中包含原始 TypedArray [16, 25, 36, 49] 中數字的平方根。我們將Math.sqrt函式作為引數傳遞給此方法,該方法返回每個元素的平方根。

<html>
<head>
   <title>JavaScript TypedArray map() Method</title>
</head>
<body>
   <script>
      const T_array = new Uint8Array([16, 25, 36, 49]);
      document.write("Original typed array: ", T_array);
      
      //using map() function
      let new_arr = ([]);
      new_arr = T_array.map(Math.sqrt);
      document.write("<br>New typed array: ", new_arr);
   </script>    
</body>
</html>

輸出

以上程式返回一個新的 TypedArray,如下所示:

Original typed array: 16,25,36,49
New typed array: 4,5,6,7

示例 2

以下是 JavaScript TypedArray map() 方法的另一個示例。我們使用此方法建立一個新的 TypedArray,其中包含原始 TypedArray ([1, 2, 3, 4, 5]) 中每個元素值的三倍。我們傳遞一個將每個元素乘以三的箭頭函式。

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

輸出

執行上述程式後,它將返回一個新的 TypedArray,如下所示:

Original typed array: 1,2,3,4,5
New typed array: 3,6,9,12,15

示例 3

在下面的示例中,map()方法透過對原始 TypedArray ([2, 4, 6, 8, 10]) 中的每個元素執行提供的函式來建立一個新的 TypedArray。我們建立一個名為 add() 的函式,該函式返回每個元素與自身的和,然後我們將此函式作為引數傳遞給 map() 方法。

<html>
<head>
   <title>JavaScript TypedArray map() Method</title>
</head>
<body>
   <script>
      function add(element, index, array){
         return element += element;
      }
      const T_array = new Uint8Array([2, 4, 6, 8, 10]);
      document.write("Original typed array: ", T_array);
      
      //using map() function
      let new_arr = ([]);
      new_arr = T_array.map(add);
      document.write("<br>New typed array: ", new_arr);
   </script>    
</body>
</html>

輸出

執行程式後,將返回一個新的 TypedArray,其中包含每個元素與自身之和。

Original typed array: 2,4,6,8,10
New typed array: 4,8,12,16,20
廣告