此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

TypedArray.prototype.slice()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2016年9月⁩.

TypedArray 实例的 slice() 方法返回一个新的类型化数组对象,包含原类型化数组中从 startend(不包括 end)索引位置的一部分拷贝。startend 参数表示要提取的项的索引。原始类型化数组不会被修改。此方法的算法与 Array.prototype.slice() 相同。

尝试一下

const bytes = new Uint8Array([10, 20, 30, 40, 50]);
const byteSlice = bytes.slice(1, 3);

console.log(byteSlice);
// 预期输出:Uint8Array [20, 30]

语法

js
slice()
slice(start)
slice(start, end)

参数

start 可选

要开始提取的位置(从 0 开始计数),会被转换为整数

end 可选

要结束提取的位置(从 0 开始计数),会被转换为整数slice() 会提取到(但不包括)end 为止的位置。

返回值

一个包含提取元素的新类型化数组。

描述

更多详细信息请参见 Array.prototype.slice()。此方法不是通用方法,只能在类型化数组实例上调用。

示例

返回现有类型化数组的一部分

js
const bytes = new Uint8Array([1, 2, 3]);
bytes.slice(1); // Uint8Array [ 2, 3 ]
bytes.slice(2); // Uint8Array [ 3 ]
bytes.slice(-2); // Uint8Array [ 2, 3 ]
bytes.slice(0, 1); // Uint8Array [ 1 ]

规范

Specification
ECMAScript® 2026 Language Specification
# sec-%typedarray%.prototype.slice

浏览器兼容性

参见