• JavaScript Video Tutorials

JavaScript - TypedArray set() Method



The JavaScript TypedArray set() method is used to store one or multiple values in the typed array by reading the input values from the specified source array. It returns none(undefined).

Additionally, it accepts an optional parameter named 'targetOffset', which specifies the position in the target array at which the writing begins. If not specified, it starts writing at the 0th index in the target array.

Note − If the targetOffset parameter value is negative or exceeds the target array length, it will throw a "RangeError" exception.

Syntax

Following is the syntax of JavaScript TypedArray set() method −

set(typedarray, targetOffset) 

Parameters

This method accepts two parameters named "typedarray" and "targetOffset", which are described below −

  • typedarray− The source array from which to copy values.

  • targetOffset (optional)− The index (or position) within the target array at which to begin writing values.

Return value

This method returns None(undefined).

Examples

Example 1

In the following program, we are using the JavaScript TypedArray set() method to store multiple values in the typed array by reading input values from the specified source array [1, 2, 3, 4, 5, 6, 7, 8].

<html>
<head>
   <title>JavaScript TypedArray set() Method</title>
</head>
<body>
   <script>
      const T_array = new Uint16Array([1, 2, 3, 4, 5, 6, 7, 8]);
      document.write("Typed array(target array): ", T_array);
      
      //using the set() method
      document.write("<br>The set() method returns: ", T_array.set([0, 0, 0]));
   </script>    
</body>
</html>

Output

Once the above program is executed, it will return an 'undefined'.

Typed array(target array): 1,2,3,4,5,6,7,8
The set() method returns: undefined

Example 2

If the targetOffset parameter is omitted, then the source array will overwrite values in the target array starting at index 0.

The following is another example of the JavaScript TypedArray set() method. We use this method to store multiple values in this typed array [10, 20, 30, 40, 50] by reading the input values from the specified source array [1, 2, 3] starting at default index 0.

<html>
<head>
   <title>JavaScript TypedArray set() Method</title>
</head>
<body>
   <script>
      const T_array = new Uint16Array([10, 20, 30, 40, 50]);
      document.write("Typed array(target array): ", T_array);
      const source_arr = new Uint16Array([1, 2, 3]);
      document.write("<br>Source array: ", source_arr);
      
      //using the set() method
      T_array.set(source_arr);
      document.write("<br>Typed array after set: ", T_array);
   </script>    
</body>
</html>

Output

The above program returns a typed array as [1, 2, 3, 40, 50].

Typed array(target array): 10,20,30,40,50
Source array: 1,2,3
Typed array after set: 1,2,3,40,50

Example 3

If we pass the targetOffset parameter value as 2, it starts storing the values in the target array from the specified source array, beginning at the specified targetOffset value.

In the given example below, we use the JavaScript TypedArray set() method to store the multiple values in the target typed array [0,0,0,0,0,0,0,0] by reading the input values from the specified source array [10,20,30] starting at specified index 2.

<html>
<head>
   <title>JavaScript TypedArray set() Method</title>
</head>
<body>
   <script>
      const T_array = new Uint16Array([0, 0, 0, 0, 0, 0, 0, 0]);
      document.write("Typed array(target array): ", T_array);
      const source_arr = new Uint16Array([10, 20, 30]);
      document.write("<br>Source array: ", source_arr);
      const targetOffset = 2;
      document.write("<br>The targetOffset: ", targetOffset);
      
      //using the set() method
      T_array.set(source_arr, targetOffset);
      document.write("<br>Typed array after set: ", T_array);
   </script>    
</body>
</html>

Output

After executing the above program, it will display the following output −

Typed array(target array): 0,0,0,0,0,0,0,0
Source array: 10,20,30
The targetOffset: 2
Typed array after set: 0,0,10,20,30,0,0,0

Example 4

If the targetOffset parameter value is passed as −2, since it is a negative value, the set() method throws a "RangeError" exception.

<html>
<head>
   <title>JavaScript TypedArray set() Method</title>
</head>
<body>
   <script>
      const T_array = new Uint16Array([1, 3, 5, 7, 9]);
      document.write("Typed array(target array): ", T_array);
      const source_arr = new Uint16Array([10, 20, 30]);
      document.write("<br>Source array: ", source_arr);
      const targetOffset = -2;
      document.write("<br>The targetOffset: ", targetOffset);
      
      //using the set() method
      try {
         T_array.set(source_arr, targetOffset);
         document.write("<br>Typed array after set: ", T_array);
      } catch (error) {
         document.write("<br>", error);
      }
   </script>    
</body>
</html>

Output

Once the above program is executed, it will throw a "RangeError" exception.

Typed array(target array): 1,3,5,7,9
Source array: 10,20,30
The targetOffset: -2
RangeError: offset is out of bounds
Advertisements