sábado, 1 de julio de 2017

Javascript Parte XLVIII

Javascript tiene una instrucción que permite eliminar un elemento de un vector llamada delete.
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