JavaScript - TypedArray subarray() 方法
JavaScript TypedArray subarray() 方法用于检索此类型数组的子部分。它不会修改原始类型数组,而是返回一个新的类型数组对象。它接受两个参数,用于指定类型数组中元素的位置(索引)。
语法
以下是 JavaScript TypedArray subarray() 方法的语法 -
subarray(begin, end)
参数
此方法接受两个可选参数,分别为"begin"和"end",如下所述 -
begin - 元素起始位置。
end - 元素结束位置(不包括)。
返回值
此方法返回一个新的类型数组对象。
示例
示例 1
如果同时省略 'begin' 和 'end' 参数,此方法将返回一个新的类型化数组对象,其中包含原始类型化数组的所有元素。因此,如果您未指定任何范围,它实际上会创建整个数组的副本。
在下面的程序中,我们使用 JavaScript TypedArray 的 subarray() 方法检索此类型化数组 [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>
输出
上述程序返回一个新的类型数组,内容为:[1, 2, 3, 4, 5]。
Original typed array: 1,2,3,4,5 New typed array: 1,2,3,4,5
示例 2
如果我们省略 end 参数,仅传递 'begin' 参数,则此方法将返回一个新的类型化数组,该数组从指定的起始位置开始,直到最后一个元素。
在此示例中,我们对类型化数组使用 subarray() 方法来检索此类型化数组的子部分 [10, 20, 30, 40, 50, 60, 70, 80]。子数组从指定的起始位置 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>
输出
执行上述程序后,它将返回一个新的类型数组:[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
示例 3
如果我们将 'begin' 和 'end' 参数同时传递给此方法,它将返回一个新的类型化数组,该数组从指定的起始位置开始,延伸至终止位置(但不包括终止位置)。
在下面的程序中,我们对一个类型化数组使用 subarray() 方法来检索此类型化数组的子部分 [2, 4, 6, 8, 10, 12, 14, 16, 18, 20],从位置 4 开始,到位置 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>
输出
上述程序执行后,将返回一个新的类型数组,如下所示:
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

