Replacing an array, by reference

While arrays are passed by reference, if the array 'arr' is passed to a function as parameter 'a', and you simply say 'a=b' inside it, then 'arr' will not be pointing to 'b'. This fiddle shows how to replace the contents of external array 'arr' when you have a reference to it, 'a', inside a function.

by Michael Underwood

HTML

<button onclick='dispArr();'>Display array</button>

JavaScript

// Start with something in the array
var arr = [-4, -2];

// Display the inital value of the array on load
(function () {
    alert(arr);
})();

// Replace the array on load
(function (a) {
    // The new array to replace 'a' with
    var b = [11, 13];
    // Clear existing values
    a.length = 0;
    // Add 'b' into 'a'
    $.merge(a,b);
})(arr);

// Display the new array, used on button click
dispArr = function() {
    alert(arr);
}