I've attempted to define a randomize method to Array.prototype like so :
Array.prototype.randomize = function() { // Yes, this method does cause the array to have 'holes', but its good enough for this example/demonstration
    var r = new Array(this.length); // Possible but somewhat unwanted to randomize the array in its place, therefore it has to be set to this new array later on.
    this.forEach(function(e) {
        r[Math.floor(Math.random() * r.length)] = e;
    });
    // how do I set 'this' to the variable r? (In order to change the array to the new and randomized array 'r')
    return r;
}
This method does return the randomized array, but how do I change the array itself as well?
 
     
     
    