Array

Usage

Contains

/**
 * JavaScript function ``inArray``...
 *
 * Copied from:
 * http://stackoverflow.com/questions/237104/array-containsobj-in-javascript
 *
 * Modified to use a standard for/next loop to keep jshint (and us) happy.
 *
 * :param a:
 *      (Array) Check this array.
 * :param obj:
 *      To see if it contains this object.
 * :returns:
 *      (bool) ``true`` if the array contains the object.
 */
function contains(a, obj) {
    "use strict";
    var i;
    for (i = 0; i < a.length; i += 1) {
        if (a[i] === obj) {
            return true;
        }
    }
    return false;
}

Insert

Insert an item at the second element of the array:

items.splice(2, 0, { name: "Splice", price: 222 })

Insert an item at the start of the array:

items.splice(0, 0, { name: "Pat", price: 333 })

Iterate

Safer to use the C like syntax:

for (var i = 0; i < items.length; i += 1) {
    var name = items[i];

Alternatively:

for (var i in items) {
    var name = items[i];

Note: i is an array index, not an item from the array BUT if any custom properties have been added to the array, then the iterator (i in this example) will enumerate the extra properties. For details, see Why you should stop using for… in to iterate.

Pop

items.pop()

Push

items.push({ name: "New item", price: 100 })

Remove

Remove one item from the third element of the array:

items.splice(3, 1)

Type

From Robust way to check if a variable is an array in Javascript:

function isArray(obj) {
    return Object.prototype.toString.call( obj ) === '[object Array]';
}

Sample

a = new Array();
a[0] = 'hello';
a[3] = 'alison';
print(a)

b = new Array('dairy', 3, 'farmer');
print(b);

// Array literals:
c = ['one', 2, 3+5, { x:1, y:2},, 'two'];
print(c);