function rotateArray(arr:Array, amount:Number):Void{ var delta:Number = amount * -1; if (amount < 0) { arr.splice(amount, null, arr.splice(0, delta)); } else if (amount > 0) { arr.splice(0, null, arr.splice(delta, amount)); }} // var numbers:Array = [1,2,3,4,5]; rotateArray(numbers, -1);trace( numbers ); // 2,3,4,5,1 rotateArray(numbers, 1);trace( numbers ); // 1,2,3,4,5 rotateArray(numbers, 3);trace( numbers ); // 3,4,5,1,2
Array.prototype.rotate = function(amount){ var delta = amount * -1; if (amount < 0) { this.splice(amount, null, this.splice(0, delta)); } else if (amount > 0) { this.splice(0, null, this.splice(delta, amount)); }} // var numbers = [1,2,3,4,5]; numbers.rotate(-1);trace( numbers ); // 2,3,4,5,1 numbers.rotate(1);trace( numbers ); // 1,2,3,4,5 numbers.rotate(3);trace( numbers ); // 3,4,5,1,2