Только вот фишка в том, что splice не смотря на то, что должна модифицировать массив, в этом случае, выделит память под массив по-новой, иногда это не принципилаьно, но иногда лучше так не делать (если массив большой). Аналогично динамическое наращивание массива скорее всего приведет к выделению памяти и копированию массива. Так что, если массив очень большой, а время не особо критично, то ИМО, лучше просто сместить все оставшиеся элементы на единичку влево, а последний заменить тем, который нужно переставить.

Код AS3:
package
{
import flash.display.Sprite;
public class RotateShiftExample extends Sprite
{
public function RotateShiftExample()
{
super();
// 1,2,4,5,3
trace(rotateShift([1, 2, 3, 4, 5], 2));
}
private static function rotateShift(
array:Array, index:int):Array
{
var limit:int = array.length - 1;
var element:Object = array[index];
while (index < limit)
array[index] = array[++index];
array[index] = element;
return array;
}
}
}