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

© . All rights reserved.