Apply your JS skills to key Mozilla projects as an MDN Fellow! http://mzl.la/MDNFellowship

mozilla

Compare Revisions

Array

Change Revisions

Revision 501959:

Revision 501959 by fscholz on

Revision 503577:

Revision 503577 by kiteroa on

Title:
Array
Array
Slug:
Web/JavaScript/Reference/Global_Objects/Array
Web/JavaScript/Reference/Global_Objects/Array
Tags:
"Array", "JavaScript"
"Array", "JavaScript"
Content:

Revision 501959
Revision 503577
n29        A JavaScript array is initialized with the given elementsn29        A JavaScript array is initialized with the given elements
>, except in the case where a single argument is passed to the <co>, except in the case where a single argument is passed to the <co
>de>Array</code> constructor and that argument is a number. (See b>de>Array</code> constructor and that argument is a number. (See b
>elow.) Note that this special case only applies to JavaScript arr>elow.) Note that this special case only applies to JavaScript arr
>ays created with the <code>Array</code> constructor, not with arr>ays created with the <code>Array</code> constructor, not array li
>ay literals created with the bracket syntax.>terals created with the bracket syntax.
n42      Arrays are list-like objects that come with a several builtn42      Arrays are list-like objects whose prototype has methods to
>-in methods to perform traversal and mutation operations. Neither> perform traversal and mutation operations. Neither the length of
> the size of a JavaScript array nor the types of its elements are> a JavaScript array nor the types of its elements are fixed. Sinc
> fixed. Since an array's size can grow or shrink at any time, Jav>e an array's size length grow or shrink at any time, JavaScript a
>aScript arrays are not guaranteed to be dense. In general, these >rrays are not guaranteed to be dense. In general, these are conve
>are convenient characteristics; but if these features are not des>nient characteristics; but if these features are not desirable fo
>irable for your particular use case, you might consider using typ>r your particular use, you might consider using typed arrays.
>ed arrays. 
n51      JavaScript arrays are zero-indexed; the first element of ann51      JavaScript arrays are zero-indexed: the first element of an
> array is actually at index <code>0</code>, and the last element > array is at index <code>0</code>, and the last element is at the
>is at the index equal to the value of the array's {{jsxref("Array> index equal to the value of the array's {{jsxref("Array.length",
>.length", "length")}} property minus 1.> "length")}} property minus 1.
n60      Array elements are just object properties, in the way that n60      Array elements are object properties in the same way that <
><code>toString</code> is a property. However, note that trying to>code>toString</code> is a property, but trying to access an eleme
> access the first element of an array as follows will throw a syn>nt of an array as follows throws a syntax error, because the prop
>tax error:>erty name is not valid:
n66      Note that there is nothing unique about JavaScript arrays an66      There is nothing special about JavaScript arrays and their 
>nd their properties that causes this. JavaScript properties that >properties that causes this. JavaScript properties that begin wit
>begin with a digit cannot be referenced with dot notation; they m>h a digit cannot be referenced with dot notation; and must be acc
>ust be accessed using bracket notation. For example, if you had a>essed using bracket notation. For example, if you had an object w
>n object with a property "3d", it would have to be referenced usi>ith a property named "3d", it can only be referenced using bracke
>ng bracket notation, not dot notation. This similarity is exhibit>t notation. E.g.:
>ed in the following two code samples: 
n86      Note that in the <code>3d</code> example, "<code>3d</code>"n86      Note that in the <code>3d</code> example, "<code>3d</code>"
> had to be quoted. It's possible to quote the JavaScript array in> had to be quoted. It's possible to quote the JavaScript array in
>dexes as well (e.g., <code>years["2"]</code> instead of <code>yea>dexes as well (e.g., <code>years["2"]</code> instead of <code>yea
>rs[2]</code>), although it's not necessary. The 2 in <code>years[>rs[2]</code>), although it's not necessary. The 2 in <code>years[
>2]</code> eventually gets coerced into a string by the JavaScript>2]</code> is coerced into a string by the JavaScript engine throu
> engine, anyway, through an implicit <code>toString</code> conver>gh an implicit <code>toString</code> conversion. It is for this r
>sion. It is for this reason that "2" and "02" would refer to two >eason that "2" and "02" would refer to two different slots on the
>different slots on the <code>years</code> object and the followin> <code>years</code> object and the following example could be <co
>g example logs <code>true</code>:>de>true</code>:
n92      Similarly, object properties which happen to be reserved won92      Similarly, object properties which happen to be reserved wo
>rds(!) can only be accessed as string literals; this means that b>rds(!) can only be accessed as string literals in bracket notatio
>racket notation must be used.>n:
t146      The result of a match between a regular expression and a stt146      The result of a match between a regular expression and a st
>ring can create a JavaScript array. This array has properties and>ring can create a JavaScript array. This array has properties and
> elements that provide information about the match. An array is t> elements which provide information about the match. Such an arra
>he return value of {{jsxref("RegExp.exec")}}, {{jsxref("String.ma>y is returned by {{jsxref("RegExp.exec")}}, {{jsxref("String.matc
>tch")}}, and {{jsxref("String.replace")}}. To help explain these >h")}}, and {{jsxref("String.replace")}}. To help explain these pr
>properties and elements, look at the following example and then r>operties and elements, look at the following example and then ref
>efer to the table below:>er to the table below:

Back to History