TypedArray.prototype.set()

TypedArray 实例的 set() 方法将多个值存储在类型化数组中,从指定数组中读取输入值。

¥The set() method of TypedArray instances stores multiple values in the typed array, reading input values from a specified array.

Try it

语法

¥Syntax

js
set(array)
set(array, targetOffset)

set(typedarray)
set(typedarray, targetOffset)

参数

¥Parameters

array

要从中复制值的数组。源数组中的所有值都会复制到目标数组中,除非源数组的长度加上目标偏移量超过了目标数组的长度,在这种情况下会引发异常。

typedarray

如果源数组是类型数组,则两个数组可能共享相同的底层 ArrayBuffer;JavaScript 引擎会智能地将缓冲区的源范围复制到目标范围。

targetOffset Optional

开始从源数组写入值的目标数组的偏移量。如果省略该值,则假定为 0(即,源数组将覆盖目标数组中从索引 0 开始的值)。

返回值

¥Return value

无 (undefined)。

¥None (undefined).

例外情况

¥Exceptions

RangeError

有下列情况之一的,抛出:

  • 元素将存储在类型化数组末尾之外,因为 targetOffset 太大,或者因为 arraytypedarray 太大。
  • targetOffset 为负。

示例

¥Examples

使用 set()

¥Using set()

js
const buffer = new ArrayBuffer(8);
const uint8 = new Uint8Array(buffer);

uint8.set([1, 2, 3], 3);

console.log(uint8); // Uint8Array [ 0, 0, 0, 1, 2, 3, 0, 0 ]

规范

Specification
ECMAScript Language Specification
# sec-%typedarray%.prototype.set

¥Specifications

浏览器兼容性

BCD tables only load in the browser

¥Browser compatibility

也可以看看