loading...

JavaScript – 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 be used to preallocate an array when you know in
    advance how many elements will be required. Note that no values
    are stored in the array, and the array index properties “0”, “1”,
    and so on are not even defined for the array.

  • Explicitly specify two or more array elements or a single
    non-numeric element for the array:

    var a = new Array(5, 4, 3, 2, 1, "testing, testing");
    

    In this form, the constructor arguments become the elements
    of the new array. Using an array literal is almost always simpler
    than this usage of the Array()
    constructor.

Comments are closed.

loading...