TypedArray.prototype.set()
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Theset()
method ofTypedArray
instances stores multiple values in the typedarray, reading input values from a specified array.
Try it
// Create an ArrayBuffer with a size in bytesconst buffer = new ArrayBuffer(8);const uint8 = new Uint8Array(buffer);// Copy the values into the array starting at index 3uint8.set([1, 2, 3], 3);console.log(uint8);// Expected output: Uint8Array [0, 0, 0, 1, 2, 3, 0, 0]
Syntax
set(array)set(array, targetOffset)set(typedarray)set(typedarray, targetOffset)
Parameters
array
The array from which to copy values. All values from the source array are copiedinto the target array, unless the length of the source array plus the target offset exceedsthe length of the target array, in which case an exception is thrown.
typedarray
If the source array is a typed array, the two arrays may share the same underlying
ArrayBuffer
; the JavaScript engine will intelligentlycopy the source range of the buffer to the destination range.targetOffset
OptionalThe offset into the target array at which to begin writing values from the sourcearray. If this value is omitted, 0 is assumed (that is, the source array willoverwrite values in the target array starting at index 0).
Return value
None (undefined
).
Exceptions
RangeError
Thrown in one of the following cases:
- An element will be stored beyond the end of the typed array, either because
targetOffset
is too large or becausearray
ortypedarray
is too large. targetOffset
is negative.
- An element will be stored beyond the end of the typed array, either because
Examples
Using set()
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 ]
Specifications
Specification |
---|
ECMAScript® 2026 Language Specification # sec-%typedarray%.prototype.set |