En este artículo vamos a ver JavaScript-matriz, sus componentes.JavaScript es un lenguaje de programación orientado perfectamente, creada para la programación.De hecho, se da cuenta de la lengua (estándar ECMA-262) ECMAScript.
Dónde usar JavaScript?Se utiliza como un lenguaje embebido con el fin de determinar la ruta de acceso a la aplicación de software sujeto.Se puede encontrar en el navegador: se utiliza allí como un lenguaje de scripting que permite la interactividad a las páginas web.
importantes características arquitectónicas de este producto son tipado dinámico y débil, la memoria avtoupravlenie, funciones de programación ideales, que son los objetivos de la primera categoría.
En realidad, en JavaScript afectada diferentes razones, porque el desarrollo crearía un lenguaje similar a Java, pero fácil de usar por los programadores.Por cierto, el lenguaje JavaScript no posee ninguna empresa u organización que lo hace diferente de una serie de estilos de programas utilizados por los desarrolladores web.
Tenga en cuenta que Javascript - una marca comercial registrada de Oracle Corporation preocupación.
¿Qué es una matriz?
datos llamada Array Tipo que almacena los valores contados.Cada uno de tales valor se conoce como un componente de la matriz, y el número al que un componente se denomina índice.Array JavaScript-sin tipo.Esto significa que los detalles de la matriz pueden tener cualquier tipo, con varios elementos que pertenecen a la misma matriz, tienen estilos completamente diferentes.Además
, JavaScript-array es dinámica, y se dice que un tamaño fijo que no hay necesidad de declarar.Después de añadir nuevas piezas en cualquier momento.Array
Fabricación
Usando el lenguaje JavaScript, para crear una matriz bastante difícil.Hay dos métodos para esto.La primera consiste en la producción de una matriz mediante un literal - de corchetes, en cuyo interior se coloca una lista de elementos, dividido por comas.
- var vacío = [];// Array vacío;Numers
- = var [4, 1, 2, 5];// Matriz con cinco componentes digitales;
- var diff = [1.5, falsa, «texto"];// Matriz con tres elementos de diferentes tipos.
lo general, no hay ningún requisito de que los valores eran simples (y número de línea).También puede ser cualquier otro expresiones, por ejemplo, los literales sujetas otras funciones y matrices.
segunda manera de crear una matriz de la diseñadora es llamar a Array ().La invitación de él hay tres métodos:
- diseñador Llamar sin argumentos: var b - new Array ().Se prevé la creación de una matriz vacía equivalente literal vacía [].
- Diseñador ha indicar claramente el valor de n componentes matriz: var b = new Array (1, 3, 5, 8, "una línea", true).En este caso, el diseñador presenta una lista de argumentos, que se convierten en los componentes de la nueva matriz.Los argumentos se escriben en la matriz es el lugar donde se indica.
- Alcance para su posterior asignación de valores.Esto se hace mediante la especificación de la matriz de detección de los números entre paréntesis: var b = new Array (5).Este método de detección implica la asignación de una matriz del número requerido de componentes (cada uno de los cuales aparece como no definido) con la posibilidad de la asignación de valores en el proceso de discusión.Este formulario se utiliza normalmente para pre-asignar el-array Javascript cuya longitud se conoce de antemano.
la escritura, la lectura y la adición de piezas de gama
llegar a los componentes de la matriz, puede utilizar el operador [].Incidentalmente, todos los componentes en JavaScript, comenzando con cero, numerada.Para obtener los elementos necesarios, su número se indica entre paréntesis.Como regla general, los artículos se pueden modificar.Una JavaScript para agregar a la matriz, es necesario asignar un nuevo valor.
Cabe señalar que en la matriz de JavaScript puede almacenar cualquier número de elementos de cualquier tipo.
Longitud del
así que sabemos lo JavaScript.La longitud de la matriz, en general, es un fenómeno interesante.Veamos con más detalle.Todos los sectores han sido diseñados por un diseñador de Array (), e identificado gracias a un literal de matriz que tenga una longitud propiedad específica, que recuerda el número total de elementos se conservan.Dado que la matriz puede ser incierto de los detalles (denotados por indefinido), una expresión más precisa suena tan: longitud calidad es siempre mayor por uno más grande que el array número (índice) componente.Longitud calidad se ajusta automáticamente, permaneciendo exacta a la aparición de una serie de piezas nuevas.
llegó al último componente de la matriz, puede utilizar la longitud característica.
último elemento tiene un índice es uno menos que el tamaño de la matriz.Después de contar siempre empezar de cero.Oh, esto JavaScript!La longitud de la matriz que depende del número exacto de artículos.Por lo tanto, si usted no sabe lo mucho que deberían ser, pero hay que recurrir al último elemento de la matriz, es necesario aplicar el expediente: v.length - 1.
partes Busto gama
Muy a menudo, la propiedad length se utiliza para iterar sobre la matriz de piezas en el ciclo:
- frutas var = [«Fresa", "durazno", "manzana", "banana"];
- for (var i = 0; i & lt; fruits.lenght; i ++); document.write
- (frutas [i] + «...»).
En este ejemplo, se observa que los componentes se colocan de forma continua y comienzan con la primera parte, que posee el índice cero.Si no es así, antes de llamar a cada elemento de la matriz se debe comprobar, si está definido.Ciclo
veces también se utiliza para inicializar componentes.
Zoom y variedad de truncamiento
preguntan cómo utilizar el lenguaje JavaScript en una matriz de cadenas que añadir?En el proceso de trabajar con matrices, la longitud de la longitud mejora automáticamente la calidad, es por ello que tenemos que preocuparnos por usted mismo.Hay que recordar acerca de un detalle - la propiedad length no de sólo lectura se encuentra disponible, pero para el registro.Si el atributo de longitud a la calidad del valor que da el tamaño de la corriente, entonces la matriz se reduce a un valor predeterminado.Cualquier componente que no están incluidos en la nueva gama de índices, reclinación, y sus valores se perdieron, aunque más tarde de vuelta de nuevo longitud - no se restaurarán.
muy fácil de limpiar porque la matriz: foo.length = 0.
Si la calidad de longitud superior a su valor actual de ejecución al final de la matriz será nuevos elementos no identificados, que aumentarán hasta el tamaño deseado.
partes Eliminando matriz
borrar operador especifica la matriz de componentes en undefined, pero sigue existiendo en este caso.Si tiene que eliminar un elemento de la matriz JavaScript para que las partes restantes fueron desplazados por un asiento, debe utilizar uno de los métodos para predecir la matriz.Método Array.shift () elimina el primer componente, pop () - el ingrediente final, y el empalme () método - uno o una serie de componentes en cualquier lugar de la matriz.
Multidimensional Arrays
creo que entendemos un poco sobre lo JavaScript.Arrays bidimensionales - que deben ser abordados más.¿Te acuerdas de que las matrices de JavaScript como componentes pueden contener otros elementos?Esta característica se utiliza para la producción de matrices multidimensionales.Para visitar los ingredientes en una matriz de matrices es suficiente para aplicar los soportes de dos veces.
Asociativa la viste
Ahora, nos enteramos de cómo utilizar la marca registrada JavaScript matrices asociativas.Para ello tenemos que mirar en la teoría: matrices asociativas a veces se llaman una tabla hash.Gracias a ellos, los índices utilizados línea.El uso de tales estructuras que recuerdan a la utilización de la denominación de las propiedades de un objeto simple, pero en esta realización, cuando se trabaja en un formato de matriz.Al igual que en JavaScript que no hay formas de utilizar matrices asociativas, se utilizan con mucha menos frecuencia de lo habitual.Debe tenerse en cuenta que todavía puede ser útil para el almacenamiento de datos y simplificar el almacenamiento de las piezas a las que desea acceder.
matriz de salida
Y ahora vamos a estudiar en el código JavaScript?La salida de la matriz para el cuadro de diálogo (en la pantalla), y los valores de salida de los componentes de la matriz.
Si el programa que desea mostrar los valores de todos los componentes, entonces es conveniente aplicar las instrucciones para.Curiosamente, sin receta variable se utiliza en las reglas para esta matriz componente de índice.
Limpieza
Para filtrar gama de JavaScript, es necesario restablecer la longitud:
- var myArray = [1, 2, 5, 23];
- myArray.length = 0.
siguiente se muestra la aplicación de destino claro (), en un marco de JavaScript, Prototipo:
- claro: function () {;
- this.length = 0;
- devuelva este;
- }.
Añadir y eliminar componentes
Bueno, seguimos explorando este lenguaje interesante JavaScript.Elemento de matriz y se puede quitar y añadir en la misma manera que las propiedades convencionales de otros objetos.Pero hay algunas diferencias: mientras que la adición de las propiedades numéricas puede cambiar la calidad de la longitud, y la modificación de la propiedad length se pueden disponer de la calidad numérica.En principio, el establecimiento de cualidades en tales matrices algoritmo es:
- Al agregar las propiedades desconocidas de i digital, si la longitud es igual o menor que yo, la longitud se determina que es i + 1 ,.
- Cuando cambie la calidad de la longitud de la forma siguiente: si el valor asignado es menor que cero, entonces lanza RangeError.Liquidado todos los índices de calidad numéricas que son iguales a la nueva longitud, y mayor que.
quitar general, el elemento de la matriz JavaScript es fácil.Después de todo, incluso el establecimiento de la longitud, es necesario eliminar de los componentes "extra".Por lo tanto la opción de limpieza en la matriz.Si la variable se asigna una nueva matriz vacía por alguna razón, no está satisfecho, y es necesario para restablecer la corriente, su calidad es suficiente para asignar un valor de longitud cero.Métodos
unshift, turno, el pop y empujan
A pesar de que los componentes de la matriz se cambian manualmente, muchos recomiendan que esto se aplica una función de métodos.Es este matiz garantiza el valor correcto de la calidad y la falta de longitud en los pasos de la matriz.Por cierto, la longitud correcta de la calidad coincidirá con el número de componentes.Método push
mueve hasta el final de la matriz pasada a los detalles.Método pop da vuelta a la componente final y lo elimina.
general en Internet Explorer bajo la octava versión unshift puede volver indefinido, en otros navegadores - el nuevo valor de longitud.Así que en el valor de retorno de la unshift es mejor no esperar.
Adición y eliminación de las partes en el medio de la matriz
Si quieres eliminar una matriz de JavaScript, es necesario tomar?Se sabe que el método tiene un Array.prototype.splice firma de empalme.
Él se retira de los componentes de gama deleteCount, comenzando con arranque índice.Si ha transferido más de dos argumentos, todos los argumentos posteriores se colocan en la matriz en lugar de liquidarse.Si comienzo es negativo, el índice de la que para reanudar la retirada será igual a la longitud + comenzar.Devuelve un conjunto de elementos viene desde el control remoto.
De hecho, utilizando el método de empalme, los componentes se puede retirar desde la mitad de la matriz, o añadir cualquier número en cualquier parte en la matriz.
En el caso más simple, si usted necesita para eliminar un componente con índice i, tengo que solicitar el método de matriz de empalme con los parámetros iy 1.
En principio, la segunda opción en el método de empalme no es obligatorio, pero el comportamiento de un argumento en cada navegador diferente.
Por ejemplo, en Firefox, en las últimas variaciones de la Ópera, en Safari y en Chrome todos los artículos será retirado antes de la final de la matriz.
en IE no será liquidado cualquier componente.La primera variación es imposible predecir el comportamiento de Opera - se eliminará una pieza con inicio Índice - 1. Por lo tanto, siempre se debe pasar en el método al menos dos componentes.
Keys
supuesto, aprender JavaScript, arrays asociativos, como se mencionó anteriormente, usted debe también no perder de vista.Se trata de un tipo abstracto de la información (la interfaz para el almacén de datos), que le permite guardar pares de la forma "(clave, valor)" y agrega un par de operaciones de apoyo, así como eliminar y buscar pares de claves:
- Buscar (tecla).
- INSERT (valor, clave).
- ELIMINAR (tecla).
Se cree que en el conjunto asociativo no puede guardar dos pares con la misma clave.En un par de k + vv valor llamado asociado con clave k.Semántica y nombres anteriores operaciones en diversas implementaciones de tales matrices pueden ser diferentes.
Por lo tanto, el efecto de FIND (clave) devuelve el valor asociado con una clave dada, o una UNDEF objeto específico, lo que significa que el valor asociado con una clave dada se encuentra.Otras dos acciones no devuelven nada (a excepción de los datos que usted ha ejecutado con éxito esta operación).
general, desde el punto de vista de la interfaz, que es un arreglo asociativo considerado como una matriz simple, en el que como índices se pueden aplicar no sólo a números enteros, y otros tipos de valores - por ejemplo, líneas.
manera, el apoyo a este tipo de matrices tiene muchos lenguajes de programación de alto nivel interpretados como PHP, Perl, Ruby, Python, Tcl, JavaScript y otros.Para los idiomas que no tienen herramientas integradas para trabajar con matrices asociativas, ha creado un gran número de implementaciones en forma de bibliotecas.
ejemplo de una matriz asociativa puede servir como una guía telefónica.En esta realización, el valor de un conjunto de "F.IO + e ", y la tecla - el número de teléfono.Un número de teléfono es un maestro, pero una persona puede poseer varias habitaciones.
Asociados extensión
Cabe señalar que el más famoso de la expansión son las siguientes:
- CADA - «ir» para salvar a todos los pares.
- CLARO - para borrar todas las entradas.
- MIN - encontrar una pareja con la tecla más baja.
- MAX - encontrar el par con los más cruciales.
En los dos últimos casos que usted necesita en las teclas indicó efectos de comparación.Implementaciones
de asociativa
matrices Hay muchas implementaciones diferentes de la matriz asociativa.La aplicación más común puede basarse en una matriz sencilla cuyos componentes son la tecla (valor) humos.Para acelerar las acciones de búsqueda se pueden pedir en los componentes de la matriz y aplicar las principales conclusiones utilizando una búsqueda binaria.Pero va a aumentar la cantidad de tiempo que necesita para añadir un nuevo par, ya que tendrá que "empujar" los componentes de la matriz que ha aparecido en una celda vacía de llevar un nuevo récord.
más conocido aplicación, en base a varios árboles de búsqueda.Por ejemplo, en un típico STL sala de lectura de C ++ mapa de contenedores se realiza sobre la base de negro y caoba.En el estilo de Ruby, Tcl, Python utiliza un tipo de tabla hash.También hay otra aplicación.
En general, cada aplicación tiene sus ventajas y desventajas.Es importante que las tres operaciones se cumplieron en promedio, y en el peor período de matices sobre (log n), donde n - el número actual para salvar el par.Durante concertados árboles de búsqueda (incluyendo árboles negro y rojo), esta condición se cumple.
conocido que las implementaciones basadas en tablas hash, que se define como el promedio de tiempo O (1), que es mejor que las acciones basadas en el árbol de búsqueda.Por supuesto, esto no garantiza una ejecución de alta velocidad de ciertas operaciones: la duración de la sentencia INSERT se conoce como el peor caso O (n).INSERT proceso se lleva a cabo por un largo tiempo, cuando la relación de trabajo alcanza el punto más alto, y existe la necesidad de reconstruir la tabla de índice hash.Manera
, estas declaraciones el hash mal que sobre esta base es imposible llevar a cabo una rápida acción adicional MAX, MIN y algoritmo de recorrido para salvar a todos los pares con el fin de disminuir o aumentar llaves.