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...