Arreglos o Arrays en Javascript

8
Arreglos o Arrays en Javascript Un vector es una estructura de datos que permite almacenar un CONJUNTO de datos. Con un único nombre se define un vector y por medio de un subíndice hacemos referencia a cada elemento del mismo (componente). Ejemplo 1 Crear un vector para almacenar los cinco sueldos de operarios y luego mostrar el total de gastos en sueldos (cada actividad en una función). <HTML> <HEAD> </HEAD> <BODY> <SCRIPT LANGUAGE="JavaScript"> function cargar(sueldos) { var f; for(f=0;f<sueldos.length;f++) { var v; v=prompt('Ingrese sueldo:',''); sueldos[f]=parseInt(v); } } function calcularGastos(sueldos) { var total=0; var f; for(f=0;f<sueldos.length;f++) { total=total+sueldos[f]; } document.write('Listado de sueldos<br>'); for(f=0;f<sueldos.length;f++) { document.write(sueldos[f]+'<br>'); } document.write('Total de gastos en sueldos:'+total); }

Transcript of Arreglos o Arrays en Javascript

Page 1: Arreglos o Arrays en Javascript

Arreglos o Arrays en Javascript

Un vector es una estructura de datos que permite almacenar un CONJUNTO de datos.Con un único nombre se define un vector y por medio de un subíndice hacemos referencia a cada elemento del mismo (componente).

Ejemplo 1

Crear un vector para almacenar los cinco sueldos de operarios y luego mostrar el total de gastos en sueldos (cada actividad en una función).<HTML><HEAD></HEAD><BODY><SCRIPT LANGUAGE="JavaScript">function cargar(sueldos){  var f;  for(f=0;f<sueldos.length;f++)  {    var v;    v=prompt('Ingrese sueldo:','');    sueldos[f]=parseInt(v);   }}

function calcularGastos(sueldos){  var total=0;  var f;  for(f=0;f<sueldos.length;f++)  {    total=total+sueldos[f];  }  document.write('Listado de sueldos<br>');  for(f=0;f<sueldos.length;f++)  {    document.write(sueldos[f]+'<br>');  } document.write('Total de gastos en sueldos:'+total); }

var sueldos;sueldos=new Array(5);cargar(sueldos);calcularGastos(sueldos);

</SCRIPT></BODY></HTML>

Recordemos que el programa comienza a ejecutarse a partir de las líneas que se encuentran fuera de la funciones:

Page 2: Arreglos o Arrays en Javascript

  var sueldos;  sueldos=new Array(5);  cargar(sueldos);  calcularGastos(sueldos);

Lo primero, definimos una variable y posteriormente creamos un objeto de la clase Array, indicándole que queremos almacenar 5 valores.Llamamos a la función cargar enviándole el vector. En la función, a través de un ciclo for recorremos las distintas componentes del vector y almacenamos valores enteros que ingresamos por teclado.Para conocer el tamaño del vector accedemos a la propiedad length de la clase Array.En la segunda función sumamos todas las componentes del vector, imprimimos en la página los valores y el total de gastos.

Insertar objetos: <object>

La etiqueta <object> permite insertar cualquier tipo de documentos (no solamente de texto) dentro de un documento html. Para poder mostrar esos archivos, el navegador suele necesitar plug-ins. Algunos tipos de documentos necesitan información adicional que se proporciona mediante la etiqueta <param>.

Ejemplos de inserción de objetos

Insertar una página web

Se puede insertar una página web en una página web mediante la etiqueta <object>, como muestra el siguiente ejemplo.

<object type="text/html"  data="ejemplo_object.html"   style="width: 400px; height:200px;" >  ERROR (no puede mostrarse el objeto)</object><object type="text/html"  data="http://maps.google.es/maps?f=q&amp;source=s_q&amp; hl=es&amp;geocode=&amp;q=ies+abastos&amp; ie=UTF8&amp;cid=11271517402525668942&amp; s=AARTsJqO2-JJ63RN_BaPYqsXhy19-WrrDw&amp; ll=39.477148,-0.382204&amp;spn=0.023188,0.036478&amp; z=14&amp;iwloc=A&amp;output=embed"   style="width: 425px; height:350px;" >  ERROR (no puede mostrarse el objeto)</object>

Page 3: Arreglos o Arrays en Javascript

Conversión entre tipos de datos

Transformación de datos numéricos

La conversión entre diferentes tipos de datos numéricos es una necesidad bastante frecuente, pero no todos los tipos de datos numéricos pueden convertirse entre sí. En la siguiente imagen podemos ver un diagrama que muestra las transformaciones permitidas en MQL5 entre diferentes tipos de datos numéricos.

En la imagen superior podemos cambiar char por bool (ambos ocupan 1 byte de memoria), int por color (4 bytes de memoria) y long por datetime (8 bytes). Las líneas sólidas muestran conversiones que se pueden realizar y en las que la pérdida de información es prácticamente nula. Las líneas grises punteadas muestran conversiones que se pueden realizar pero que en el proceso de conversión se puede perder precisión. Por ejemplo, podemos pasar un int a float pero en ocasiones se puede perder información, por ejemplo un número entero de 123456789 (int) contiene un número mayor de dígitos del que se puede representar un dato tipo float:

int n=123456789;float f=n; // the content of f is equal to 1.234567892E8Print("n = ",n," f = ",f);// result n= 123456789 f= 123456792.00000

El número convertido a float tiene el mismo orden pero es menos preciso. Conversiones, en dirección opuesta a la dirección que marcan las flechas en la imagen anterior, son posibles pero puede perderse información. Conversiones entre char y uchar, short y ushort, int y uint, long y ulong, son posibles en ambas direcciones pero también puede perderse información.

Page 4: Arreglos o Arrays en Javascript

Como resultado de convertir números con punto flotante a números enteros, la parte fraccionaria es siempre eliminada. Si lo que quieres es redondear al número entero más próximo deberías usar la función MathRound().

Ejemplo:

//--- Gravitational accelerationdouble g=9.8;double round_g=(int)g;double math_round_g=MathRound(g);Print("round_g = ",round_g);Print("math_round_g = ",math_round_g);/*Result:round_g = 9.00000000math_round_g = 10.00000000*/

Si se unen dos valores mediante un operador binario, antes de ejecutar la operación, se convierte de forma automática el operando de tipo menor al tipo mayor existente entre los operandos siguiendo el siguiente esquema:

Los datos tipo char, uchar, short, and ushort son convertidos de forma incondicional a tipo int si va a realizarse una operación con ellos.

declarar constantes.

Todo programador PHP sabe que no es necesario declarar las variables, con utilizar $variable, ya podemos empezar a trabajar con ella. Esto conlleva algunos riesgos de seguridad, ya que si no inicializamos o la mal usamos, podemos  poner en riesgo la seguridad de nuestra web. Pero este artículo no va a hablar directamente de como asegurar nuestra  web frente a ese tipo de ataques, sino de dar más seguridad a la aplicación utilizando constantes.

Primero hay que decir que una constante, una vez declarada, no variará hasta el fin de la ejecución. Además, estas constantes son utilizadas en cualquier parte como si fueran variables globales, dando igual desde donde las llamemos.

A diferencia de las variables, no hace falta ponerle el $ para designarlas, y sobre todo, una vez declaradas y designadas el valor, será inmutable durante el resto de la ejecución,

Page 5: Arreglos o Arrays en Javascript

imposibilitando la sobrescritura de esta por descuido o por malas intenciones de “usuarios” aventureros.

Para definir una constante, usaremos define(“nombreconstante”,”valor”); de esta manera si quisieramos acceder al valor de la constante, solo pondremos:

echo nombreconstante;

Esto devolvería valor;

Además de estos dos parametros de la función define(), puede recibir un tercero que será la de insensible_mayusculas,  (true-false) es decir, si usamos la declaración:

define(“nombreconstante”,”valor”, true);

Podemos utilizar

echo NombreConstante;echo NoMbreConsTantE;

Ambas darán el mismo resultado valor. Sino, darían error.

Para terminar comentar la función defined(), sirve para constatar si la constante existe, el uso es el siguiente:

if defined(“nombreconstante”) { echo “existe”;}

Constantes en phpUna constante es un identificador para expresar un valor simple. Como el nombre sugiere, este valor no puede variar durante la ejecución del script. (Las constantes especiales __FILE__ y __LINE__ son una excepción a esto, ya que actualmente no lo soin). Una constante es sensible a mayúsculas por defecto. Por convención, los identificadores de constantes suelen declararse en mayúsculas

El nombre de una constante sigue las mismas reglas que cualquier etiqueta en PHP. Un nombre de constante válido empieza con una letra o un caracter de subrayado, seguido por cualquier número de letras, números, o subrayados. Se podrían expresar mediante la siguiente expresión regular: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

Nota: Para nuestros propósitos , entenderemos como letra los carácteres a-z, A-Z, y los ASCII del 127 hasta el 255 (0x7f-0xff).

El alcanze de una constante es global, Es decir, es posible acceder a ellas sin preocuparse por el ámbito de alcance.

Page 6: Arreglos o Arrays en Javascript

Sintaxis

Se puede definir una constante usando la función define(). Una vez definida, no puede ser modificada ni eliminada .

Solo se puede definir como constantes valores escalares (boolean, integer, float y string ).

Para obtener el valor de una constante solo es necesario especificar su nombre. A diferencia de las variables, no se tiene que especificar el prefijo $. Tambien se puede utilizar la función constant(), para obtener el valor de una constante, en el caso de que queramos expresarla de forma dinámica Usa la función get_defined_constants() parar obtener una lista de todas las constantes definidas.

Nota: Las contantes y las variables (globales) se encuentran en un espacio de nombres distinto. Esto implica que por ejemplo TRUE y $TRUE son diferentes.

Si usas una constante todavia no definida, PHP asume que estás refiriéndote al nombre de la constante en si. Se lanzará un aviso si esto sucede. Usa la función defined() para comprobar la existencia de dicha constante.

Estas son las diferencias entre constantes y variables:

*

Las constantes no son precedidas por un símbolo de dolar ($)*

Las contantes solo pueden ser definidas usando la función() define , nunca por simple asignación*

Las constantes pueden ser definidas y accedidas sin tener en cuenta las reglas de alcanze del ámbito.*

Las constantes no pueden ser redefinidas o eliminadas despues de establecerse; y*

Las constantes solo puede albergar valores escalares

Ejemplo 9-1. Definiendo constantes

<?phpdefine("CONSTANT", "Hello world.");echo CONSTANT; // outputs "Hello world."echo Constant; // outputs "Constant" and issues a notice.?>