JavaScript - TypedArray fill() 方法



JavaScript TypedArray 的 fill() 方法用於修改此型別化陣列中指定索引範圍(從開始到結束)內的所有元素。我們需要提供一個元素(稱為值)來替換現有值。

startend 引數是可選的,這意味著如果您沒有將它們傳遞給此方法,它會透過用指定值填充整個陣列來修改整個陣列。此方法修改原始陣列,不返回新的型別化陣列。

語法

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

fill(value, start, end)

引數

此方法接受三個名為“value”,“start”和“end”的引數。這些引數的解釋如下:

  • value - 要填充到型別化陣列中的值。

  • start(可選) - 從零開始的索引起始位置,從該位置開始填充值。

  • end(可選) - 從零開始的索引結束位置,在該位置停止填充。

返回值

此方法返回已修改的型別化陣列,該陣列已填充指定值。

示例

示例 1

如果我們省略 'start''end' 引數,並且僅將 'value' 引數傳遞給此方法,它將更改並用指定值填充整個型別化陣列。

在以下程式中,我們使用 JavaScript TypedArray fill() 方法更改並用指定值 1 填充整個型別化陣列 [0, 0, 0, 0, 0]。

<html>
<head>
   <title>JavaScript TypedArray fill() Method</title>
</head>
<body>
   <script>
      const T_array = new Uint8Array([0, 0, 0, 0, 0]);
      document.write("The typed array before filled: ", T_array);
      const value = 1;
      document.write("<br>The value to be filled: ", value)
      
      //using fill() method
      T_array.fill(value);
      document.write("<br>The typed array after filled: ", T_array);
   </script>    
</body>
</html>

輸出

以上程式返回一個用值 1 填充的修改後的型別化陣列,如 [1, 1, 1, 1, 1]。

The typed array before filled: 0,0,0,0,0
The value to be filled: 1
The typed array after filled: 1,1,1,1,1

示例 2

如果我們傳遞 'value''start' 引數,此方法將在指定的起始位置用指定值填充型別化陣列。

以下是 JavaScript TypedArray fill() 方法的另一個示例。我們使用此方法更改此型別化陣列 [1, 2, 3, 4, 5, 6, 7, 8],並在起始位置 2 用指定值 0 填充它。

<html>
<head>
   <title>JavaScript TypedArray fill() Method</title>
</head>
<body>
   <script>
      const T_array = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);
      document.write("The typed array before filled: ", T_array);
      const value = 0;
      const start = 2;
      document.write("<br>The value to be filled: ", value);
      document.write("<br>The starting position: ", start);
      
      //using fill() method
      T_array.fill(value, start);
      document.write("<br>The typed array after filled: ", T_array);
   </script>    
</body>
</html>

輸出

執行上述程式後,它將返回一個修改後的型別化陣列,該陣列從位置 2 開始用值 0 填充,如下所示:

The typed array before filled: 1,2,3,4,5,6,7,8
The value to be filled: 0
The starting position: 2
The typed array after filled: 1,2,0,0,0,0,0,0

示例 3

如果傳遞了所有三個引數 'value''start''end',則 fill() 方法將透過在 [start, end] 範圍內填充指定值來更改型別化陣列。

在這個程式中,我們使用fill()方法來修改這個型別化陣列[10, 20, 30, 40, 50, 60, 70, 80],透過填充指定的值100,以及指定的範圍[2, 5]

<html>
<head>
   <title>JavaScript TypedArray fill() Method</title>
</head>
<body>
   <script>
      const T_array = new Uint8Array([10, 20, 30, 40, 50, 60, 70, 80]);
      document.write("The typed array before filled: ", T_array);
      const value = 100;
      const start = 2;
      const end = 5;
      document.write("<br>The value to be filled: ", value);
      document.write("<br>The starting position: ", start);
      document.write("<br>The end position: ", end);
      
      //using fill() method
      T_array.fill(value, start, end);
      document.write("<br>The typed array after filled: ", T_array);
   </script>    
</body>
</html>

輸出

一旦上述程式執行完畢,它將返回一個修改後的型別化陣列,即[10,20,100,100,100,60,70,80]。

The typed array before filled: 10,20,30,40,50,60,70,80
The value to be filled: 100
The starting position: 2
The end position: 5
The typed array after filled: 10,20,100,100,100,60,70,80
廣告