Array Helpers

Array Helpers square(), cube(), average(), sum(), even() and odd()

by Igor Cuckovic

JavaScript

Array.prototype.square = function () {
    if (this.length === 0) {
        return 0;
    }
    return this.map(function (x) {
        return x * x;
    });
};

Array.prototype.cube = function () {
    if (this.length === 0) {
        return 0;
    }
    return this.map(function (x) {
        return x * x * x;
    });
};

Array.prototype.average = function () {
    if (this.length === 0) {
        return NaN;
    }
    return this.reduce(function (prev, cur) {
        return prev + cur;
    }) / this.length;
};

Array.prototype.sum = function () {
    if (this.length === 0) {
        return 0;
    }
    return this.reduce(function (prev, cur) {
        return prev + cur;
    });
};

Array.prototype.even = function () {
    if (this.length === 0) {
        return 0;
    }
    return this.filter(function (num) {
        if ((num % 2) === 0) return num;
    });
};

Array.prototype.odd = function () {
    if (this.length === 0) {
        return 0;
    }
    return this.filter(function (num) {
        if (num % 2) return num;
    });
};

/*
Array.prototype.square  = function () { return this.map(function(n) { return n*n; }); }
Array.prototype.cube    = function () { return this.map(function(n) { return n*n*n; }); }
Array.prototype.average = function () { return this.sum() / this.length; }
Array.prototype.sum     = function () { return this.reduce(function(a, b) { return a + b; }, 0); }
Array.prototype.even    = function () { return this.filter(function(item) { return 0 == item % 2; }); }
Array.prototype.odd     = function () { return this.filter(function(item) { return 0 != item % 2; }); }
*/



/*
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
*/
/* roots is now [1, 2, 3], numbers is still [1, 4, 9] */

var numbers = [1, 2, 3, 4, 5];

//console.log(numbers.square()); // must return [1, 4, 9, 16, 25]

//numbers.cube(); // must return [1, 8, 27, 64, 125]
//console.log(numbers.average()); // must return 3
//console.log(numbers.sum()); // must return...