JavaScript - TypedArray fill() 方法



JavaScript TypedArray fill() 方法用于在指定的索引范围(从开始到结束)内修改此类型化数组中的所有元素。我们需要提供一个元素(称为 value)来替换现有值。

start 和 end 参数是可选的,这意味着如果你没有将它们传递给此方法,它会通过用指定的值填充整个数组来修改整个数组。此方法修改原始数组,不返回新的类型化数组。

语法

以下是 JavaScript TypedArray fill() 方法的语法 -


 fill(value, start, end)

参数

此方法接受名为 'value'、'start' 和 'end' 的三个参数。这些参数的解释如下 -

  • value − 要在类型化数组中填充的值。
  • start (可选)- 从零开始填充值的索引起始位置。
  • end (可选)- 停止填充的从 0 开始的索引结束位置。

返回值

此方法返回修改后的类型化数组,该数组填充了指定值。

示例 1

如果我们省略 'start' 和 'end' 参数,只将 'value' 参数传递给此方法,它会更改并使用指定值填充整个类型化数组。

在下面的程序中,我们使用 JavaScript TypedArray fill() 方法更改整个类型化数组 [0, 0, 0, 0, 0] 并用指定的值 1 填充。


<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() 方法通过填充指定值 100 来更改这个类型化数组 [10, 20, 30, 40, 50, 60, 70, 80],指定范围 [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