Edit in JSFiddle

!Array.prototype.forEach && (Array.prototype.map = Array.prototype.filter = Array.prototype.forEach = function (callback) {

    callback = callback || function () { };

    var a = this;

    for (var n in a) {
        callback.call(this, a[n], n, a);
    }
});

var a = [4, 5, 6];
a.map(function (e, i, arr) { arr[i] = e + '**'; });
console.log(a);
var b = [4, 5, 6];
b.filter(function (e, i, arr) { arr[i] = e + '**'; });
console.log(b);
var c = [4, 5, 6];
c.forEach(function (e, i, arr) { arr[i] = '**'; });
console.log(c);