Array

An array is a list-like object which can store an ordered sequence of values known as elements, indexed from 0 to (arr.length-1).

The following rows all result in the same 'data' array.
var data = ["Sophia", 25, myFunction];

var data = new Array("Sophia", 25, myFunction);

var data = Array("Sophia", 25, myFunction);

var data = [];
data[0] = "Sophia";
data[1] = 25;
data[2] = myFunction;

var data = new Array(); // 'new' is optional
data[0] = "Sophia";
data[1] = 25;
data[2] = myFunction;

var data = Array(3);  // reserves 3 elements
data[0] = "Sophia";
data[1] = 25;
data[2] = myFunction;

Arrays can contain objects and be associated with properties. Properties are not counted as elements.


var arr = [3];    // an element
arr.p = { x: 1 }; // an object as a property
arr[1] = 5;      // an array element
arr[1.5] = 6;   // an object property
alert(arr[0]);
alert(arr[1]);
alert(arr.p);
alert(arr.length);
alert(arr.hasOwnProperty(1.5));
arr[30] = { y: 2 };     // an object as an element
alert(arr['length']);
alert(arr[1.5]);
arr.length = 3;        // truncates the array
alert(arr[30]);

3 5 [object Object] 2 true 31 6 undefined

Elements in an array literal can be skipped, in which case the values for the elements will be 'undefined'.


var a = [0, , 2, 3, , , 6, ,];

Multi-dimensional arrays can be created by nesting arrays.

+ tries to convert an object to a primitive.
var ma = [[1, 2, 3], ['a', 'b', 'c']];
alert(ma[1][2]);

console.log([] + []);
console.log([] + {});
console.log({} + []);
console.log({} + {});

console.log(++[[]][+[]] + [+[]]);

c "" [object Object] [object Object] [object Object][object Object] 10

Note that the callbacks passed into some Array prototype functions (eg. some(), every(), forEach(), reduce(), find(), map()) may take two additional parameters, ie. the index and the whole array.