JavaScript - TypedArray subarray() Method
The JavaScript TypedArray subarray() method is used to retrieve a sub-part of this typed array. It does not modify the original typed array but returns a new typed array object. It accepts two parameters that specify the position (index) of elements in the typed array.
Syntax
Following is the syntax of JavaScript TypedArray subarray() method −
subarray(begin, end)
Parameters
This method accepts two optional parameters named 'begin' and 'end', which are described below −
begin − It is the starting position from which the element at begin.
end − It is the end position at which the element at end(not included).
Return value
This method returns a new typed array object.
Examples
Example 1
If you omit both the 'begin' and 'end' parameters, this method returns a new typed array object that includes all the elements of the original typed array. So, if you dont specify any range, it essentially creates a copy of the entire array.
In the following program, we are using the JavaScript TypedArray subarray() method to retrieve a sub-part of this typed array [1, 2, 3, 4, 5].
<html>
<head>
<title>JavaScript TypedArray subarray() Method</title>
</head>
<body>
<script>
const T_array = new Uint8Array([1, 2, 3, 4, 5]);
document.write("Original typed array: ", T_array);
let new_t_array = new Uint8Array([]);
new_t_array = T_array.subarray();
document.write("<br>New typed array: ", new_t_array);
</script>
</body>
</html>
Output
The above program returns a new typed array as: [1, 2, 3, 4, 5].
Original typed array: 1,2,3,4,5 New typed array: 1,2,3,4,5
Example 2
If we omit the end parameter and pass only the 'begin' parameter, this method returns a new typed array that starts with the specified begin position till the last element.
In this example, we are using the subarray() method on a typed array to retrieve a sub-part of this typed array [10, 20, 30, 40, 50, 60, 70, 80]. The subarray starts from the specified starting position 2.
<html>
<head>
<title>JavaScript TypedArray subarray() Method</title>
</head>
<body>
<script>
const T_array = new Uint8Array([10, 20, 30, 40, 50, 60, 70, 80]);
document.write("Original typed array: ", T_array);
const begin = 2;
document.write("<br>Begin at: ", begin);
let new_t_array = new Uint8Array([]);
new_t_array = T_array.subarray(begin);
document.write("<br>New typed array: ", new_t_array);
</script>
</body>
</html>
Output
After executing the above program, it will return a new typed array as: [30, 40, 50, 60, 70, 80].
Original typed array: 10,20,30,40,50,60,70,80 Begin at: 2 New typed array: 30,40,50,60,70,80
Example 3
If we pass both the 'begin' and 'end' parameters to this method, it returns a new typed array that starts with the specified begin position and extends up to, but excludes the end position.
In the following program, we are using the subarray() method on a typed array to retrieve a sub-part of this typed array [2, 4, 6, 8, 10, 12, 14, 16, 18, 20], starting from position 4, and ending just before position 8.
<html>
<head>
<title>JavaScript TypedArray subarray() Method</title>
</head>
<body>
<script>
const even_t_array = new Uint8Array([2, 4, 6, 8, 10, 12, 14, 16, 18, 20]);
document.write("Original typed array: ", even_t_array);
const begin = 4;
const end = 8;
document.write("<br>Begin at: ", begin);
document.write("<br>End at: ", end);
let new_t_array = new Uint8Array([]);
new_t_array = even_t_array.subarray(begin, end);
document.write("<br>New typed array: ", new_t_array);
</script>
</body>
</html>
Output
Once the above program is executed, it returns a new typed array as −
Original typed array: 2,4,6,8,10,12,14,16,18,20 Begin at: 4 End at: 8 New typed array: 10,12,14,16