The Array.of()
method creates a new Array
instance from a variable number of arguments, regardless of number or type of the arguments.
The difference between Array.of()
and the Array
constructor is in the handling of integer arguments: Array.of(7)
creates an array with a single element, 7
, whereas Array(7)
creates an empty array with a length
property of 7
(Note: this implies an array of 7
empty slots, not slots with actual undefined
values).
Array.of(7); // [7] Array.of(1, 2, 3); // [1, 2, 3] Array(7); // array of 7 empty slots Array(1, 2, 3); // [1, 2, 3]
Syntax
Array.of(element0[, element1[, ...[, elementN]]])
Parameters
elementN
- Elements used to create the array.
Return value
A new Array
instance.
Description
This function is part of the ECMAScript 2015 standard.
For more information, see:
Polyfill
Running the following code before any other code will create Array.of()
if it's not natively available.
if (!Array.of) { Array.of = function() { return Array.prototype.slice.call(arguments); // Or let vals = []; for(let prop in arguments){ vals.push(arguments[prop]); } return vals; } }
Examples
Using Array.of
Array.of(1); // [1] Array.of(1, 2, 3); // [1, 2, 3] Array.of(undefined); // [undefined]
Specifications
Specification |
---|
ECMAScript (ECMA-262) The definition of 'Array.of' in that specification. |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | Server | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
of | Chrome Full support 45 | Edge Full support 12 | Firefox Full support 25 | IE No support No | Opera Full support 26 | Safari Full support 9 | WebView Android Full support 39 | Chrome Android Full support 39 | Firefox Android Full support 25 | Opera Android Full support 26 | Safari iOS Full support 9 | Samsung Internet Android Full support 4.0 | nodejs Full support 4.0.0 |
Legend
- Full support
- Full support
- No support
- No support