Al comando delete le pasamos el nombre del vector y la posición que queremos borrar:
delete vec[3];Con el comando anterior estamos eliminando la componente de la posición 3 del vector. Cuando se elimina una componente no se modifica la propiedad length y el vector se convierte en no denso. Si luego tratamos de acceder a dicha posición el resultado es el valor undefined.
Problema Crear un vector de 10 elementos y almacenar valores aleatorios en el mismo. Luego borrar los elementos de las posiciones pares e imprimir el vector antes y después de borrar las componentes, inclusive tratar de acceder a las componentes que acabamos de borrar.
<html> <head> </head> <body> <script type="text/javascript"> var vec=[]; var f; for(f=0;f<10;f++) { var valor=parseInt(Math.random()*1000); vec.push(valor); } document.write('Vector antes de borrar<br>'); for(f=0;f<10;f++) { document.write(vec[f]+'<br>'); } for(f=0;f<10;f=f+2) { delete vec[f]; } document.write('Vector luego de borrar las posiciones pares<br>'); for(f=0;f<10;f++) { document.write(vec[f]+'<br>'); } </script> </body> </html>Creamos y cargamos el vector con 10 enteros aleatorios:
var vec=[]; var f; for(f=0;f<10;f++) { var valor=parseInt(Math.random()*1000); vec.push(valor); }Procedemos a borrar los elementos de las posiciones pares del vector utilizando el comando Javascript delete (veamos que dentro del for incrementamos f en 2 en cada vuelta del ciclo):
for(f=0;f<10;f=f+2) { delete vec[f]; }Por último procedemos a mostrar el vector donde podemos comprobar que al tratar de acceder a componentes que se han eliminado el resultado es el valor undefined, el resultado completo de la ejecución del programa es:
Vector antes de borrar 931 354 246 876 802 980 957 307 998 640 Vector luego de borrar las posiciones pares undefined 354 undefined 876 undefined 980 undefined 307 undefined 640
No hay comentarios.:
Publicar un comentario