Web/JavaScript/Reference/Global objects/TypedArray/fill

From Get docs


The fill() method fills all the elements of a typed array from a start index to an end index with a static value. This method has the same algorithm as Array.prototype.fill(). TypedArray is one of the typed array types here.


Syntax

typedarray.fill(value[, start = 0[, end = this.length]])

Parameters

value
Value to fill the typed array with.
start Optional
Start index. Defaults to 0.
end Optional
End index (not included). Defaults to this.length.

Return value

The modified array.

Description

The elements interval to fill is [start, end).

The fill() method takes up to three arguments value, startstart and end. The start and end arguments are optional with default values of 0 and the length of the this object.

If start is negative, it is treated as length+start where length is the length of the array. If end is negative, it is treated as length+end.

Examples

Using fill()

new Uint8Array([1, 2, 3]).fill(4);         // Uint8Array [4, 4, 4]
new Uint8Array([1, 2, 3]).fill(4, 1);      // Uint8Array [1, 4, 4]
new Uint8Array([1, 2, 3]).fill(4, 1, 2);   // Uint8Array [1, 4, 3]
new Uint8Array([1, 2, 3]).fill(4, 1, 1);   // Uint8Array [1, 2, 3]
new Uint8Array([1, 2, 3]).fill(4, -3, -2); // Uint8Array [4, 2, 3]

Polyfill

Since there is no global object with the name TypedArray, polyfilling must be done on an "as needed" basis. Use the following "polyfill" along with the Array.prototype.fill() polyfill.

// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill
if (!Uint8Array.prototype.fill) {
  Uint8Array.prototype.fill = Array.prototype.fill;
}

Specifications

Specification
[(ECMA-262)The definition of 'TypedArray.prototype.fill' in that specification.]

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
fill Chrome

Full support 45

Edge

Full support 14

Firefox

Full support 37

IE

No support No

Opera

Full support 36

Safari

Full support 9.1

WebView Android

No support No

Chrome Android

Full support 45

Firefox Android

Full support 37

Opera Android

No support No

Safari iOS

Full support 9.3

Samsung Internet Android

Full support 5.0

nodejs

Full support 4.0.0

Legend

Full support  
Full support
No support  
No support


See also