ArrayBuffer.prototype.slice()

slice()ArrayBuffer 实例的方法,它返回一个新的 ArrayBuffer,其内容是此 ArrayBufferstart(包含)到 end(不包含)的字节的副本。如果 startend 为负数,它表示从数组末尾到开始的索引,而不是从数组开头到末尾的索引。

试试

语法

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

参数

start 可选

要开始提取的零基索引,转换为整数

  • 负索引从缓冲区的末尾开始计数 - 如果 -buffer.length <= start < 0,则使用 start + buffer.length
  • 如果 start < -buffer.length 或省略 start,则使用 0
  • 如果 start >= buffer.length,则返回一个空缓冲区。
end 可选

要结束提取的零基索引,转换为整数slice() 最多提取到 end,但不包含 end

  • 负索引从缓冲区的末尾开始计数 - 如果 -buffer.length <= end < 0,则使用 end + buffer.length
  • 如果 end < -buffer.length,则使用 0
  • 如果 end >= buffer.length 或省略 end,则使用 buffer.length,导致提取到末尾的所有元素。
  • 如果 end 隐含的位置在 start 隐含的位置之前或在 start 隐含的位置,则返回一个空缓冲区。

返回值

一个新的 ArrayBuffer,包含已提取的元素。

示例

复制 ArrayBuffer

js
const buf1 = new ArrayBuffer(8);
const buf2 = buf1.slice(0);

规范

规范
ECMAScript 语言规范
# sec-arraybuffer.prototype.slice

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅