Incluso podrías probar el operador
delete para un elemento del array que quieras poner
undefined.
Código PHP:
<script type="text/javascript">
var miArray = new Array();
miArray[0] = "hola";
miArray[1] = "que";
miArray[2] = "tal";
miArray[3] = "estas";
//listo
for( var i=0; i<miArray.length; i++) document.write("miArray["+i+"] = "+miArray[i]+"<br/>");
//borro
delete miArray[1];
//listo
for( var i=0; i<miArray.length; i++) document.write("miArray["+i+"] = "+miArray[i]+"<br/>");
//borro el último
delete miArray[miArray.length-1]
//listo
for( var i=0; i<miArray.length; i++) document.write("miArray["+i+"] = "+miArray[i]+"<br/>");
</script>
Aunque debes tener en cuenta que no se modifica la longitud del array, no se modifica la propiedad length!.
Un saludo.