Sort function with side-effects; changes the original array 1 function arrangeNumbers(arr) { return arr.sort(function(a, b){ return a - b; }) } var arr = [4, 6, 1, 3, 7, 2]; arrangeNumbers(arr); //returns [1, 2, 3, 4, 6, 7] arr; // returns [1, 2, 3, 4, 6, 7] 2 function arrangeNumbers(arr) { arr.sort(function(a, b){ return a - b; }); return arr; } var arr = [4, 6, 1, 3, 7, 2]; arrangeNumbers(arr); //returns [1, 2, 3, 4, 6, 7] arr; // returns [1, 2, 3, 4, 6, 7] Sort function without side-effects; the original array remains the same function arrangeNumbers(arr) { // return the sorted copy of the array return arr.slice().sort(function(a, b){ return a - b; }) } var arr = [4, 6, 1, 3, 7, 2]; arrangeNumbers(arr); //returns [1, 2, 3, 4, 6, 7] arr; // returns [4, 6, 1, 3, 7, 2]