📅  最后修改于: 2023-12-03 15:16:08.286000             🧑  作者: Mango
typedArray.subarray()
是 JavaScript TypedArray 对象的一个方法,用于创建并返回一个原始 TypedArray 的新视图。该方法不会修改原始 TypedArray 的数据,而是返回一个指向相同底层数据的新的 TypedArray 对象,只是依据给定的开始索引和结束索引来定义新 TypedArray 的范围。
typedArray.subarray(start[, end])
start
: 必须参数,表示新视图开始元素的索引,开始索引是包含在新视图中的。end
: 可选参数,表示新视图结束元素的索引,结束索引是不包含在新视图中的。const buffer = new ArrayBuffer(16);
const view = new Uint32Array(buffer);
for (let i = 0; i < view.length; i++) {
view[i] = i + 1;
}
const subView = view.subarray(2, 4);
console.log(subView); // Uint32Array [ 3, 4 ]
上述示例中,首先创建了一个长度为 16 的 ArrayBuffer,然后使用 new Uint32Array(buffer)
创建了一个包含了 4 个 32 位无符号整数的 TypedArray 对象 view
。使用一个循环,将 view
中的值设置为 1-4。
接下来,使用 subarray()
方法将 view
中索引 2-4 的元素(不包含索引 4)截取并创建一个新的 TypedArray subView
。最后,使用 console.log()
打印 subView
,显示结果为 [ 3, 4 ]
。
subarray()
方法返回的是原始 TypedArray 对象的一个新视图,即它们共享同一片底层数据。[start, end)
的半开半闭区间。Uint8Array
、Int16Array
、Float32Array
等)都支持 subarray()
方法。请注意,上述代码片段在Markdown中使用了三个反引号(```)来表示代码块,以便正确格式化代码。