Creating Arrays

The easiest way to create an array is with an array literal, which is simply a comma-separated list of array elements within square brackets. For example:

var empty = [];                 // An array with no elements
var primes = [2, 3, 5, 7, 11];  // An array with 5 numeric elements
var misc = [ 1.1, true, "a", ]; // 3 elements of various types + trailing comma

The values in an array literal need not be constants; they may be arbitrary expressions:

var base = 1024;
var table = [base, base+1, base+2, base+3];

Array literals can contain object literals or other array literals:

var b = [[1,{x:1, y:2}], [2, {x:3, y:4}]];

If an array literal contains multiple commas in a row, with no value between, the array is sparse (see 7.3). Array elements for which values are omitted do not exist, but appear to be undefined if you query them:

var count = [1,,3]; // Elements at indexes 0 and 2. count[1] => undefined
var undefs = [,,];  // An array with no elements but a length of 2

Array literal syntax allows an optional trailing comma, so [,,] has a lenth of 2, not 3.

Another way to create an array is with the Array() constructor. You can invoke this constructor in three distinct ways:

  • Call it with no arguments:

    var a = new Array();

    This method creates an empty array with no elements and is equivalent to the array literal [].

  • Call it with a single numeric argument, which specifies a length:

    var a = new Array(10);

    This technique creates an array with the specified length. This form of the Array() constructor can ...

Get JavaScript: The Definitive Guide, 6th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.