JavaScript-array e sua criação.

click fraud protection

Neste artigo, vamos olhar para JavaScript-array, os seus componentes.JavaScript é uma linguagem de script orientada a perfeição, criado para a programação.Na verdade, ele percebe língua (padrão ECMA-262) ECMAScript.

Onde usar JavaScript?É usado como uma linguagem integrada, a fim de determinar o caminho para a aplicação de software sujeito.Ela pode ser encontrada no navegador: ele é usado ali como uma linguagem de script que dá interatividade a páginas da web.

importantes características arquitectónicas deste produto estão tipagem dinâmica e fraca, memória avtoupravlenie, funções de programação ideais, que são os objetos da primeira categoria.

Na verdade, em JavaScript afetada por diferentes razões, porque o desenvolvimento criaria uma linguagem semelhante ao Java, mas fácil de usar por programadores.By the way, a linguagem JavaScript não possui qualquer empresa ou organização que o torna diferente de um número de estilos de programas usados ​​por desenvolvedores web.

Note que JavaScript - uma marca registrada da Oracle Corporation preocupação.

O que é uma matriz?

de dados chamado de matriz tipo que armazena valores contados.Cada tal valor é referido como um componente de matriz, e o número para o qual um componente é chamado o índice.Matriz de JavaScript-untyped.Isto significa que os detalhes da matriz pode ter qualquer tipo, com vários itens que pertençam ao mesmo conjunto, têm completamente diferentes estilos.

disso, JavaScript-matriz é dinâmico, e diz-se que um tamanho fixo, não há necessidade de declarar.Após a adição de novas partes, em qualquer momento.Matriz

Manufacturing

Usando a linguagem JavaScript, para criar uma matriz bastante difícil.Existem dois métodos para este.A primeira envolve a produção de uma matriz usando um literal - de colchetes, no interior do qual é colocada uma lista de itens, divididos por vírgulas.

  • var vazio = [];// Array vazio;Numers
  • = var [4, 1, 2, 5];// Array com cinco componentes digitais;
  • var diff = [1.5, falso, «texto"];// Matriz com três elementos de tipos diferentes.

Normalmente, não há exigência de que os valores eram simples (e número de linha).Ele também pode ser quaisquer outras expressões, por exemplo, literais sujeitas outras funções e matrizes.

segunda maneira de criar uma matriz do designer é chamar Array ().Convide-o três métodos:

  • Chamando grife sem argumentos: var b - new Array ().Ele prevê a criação de uma matriz vazia equivalente literal vazia [].
  • Designer tenha indicar claramente o valor da matriz n componentes: var b = new Array (1, 3, 5, 8, "a linha», true).Neste caso, o designer apresentada uma lista de argumentos, os quais são convertidos nos componentes da nova matriz.Argumentos são escritos para a matriz é o local onde indicado.
  • Definição do Âmbito para depois atribuir valores.Isto é feito através da especificação da matriz de detecção de números entre parênteses: var b = new Array (5).Este método de detecção envolve a atribuição de uma matriz do número requerido de componentes (cada um dos quais está listado como indefinido) com a possibilidade de atribuir valores no processo de discussão.Esta forma é geralmente usado para pré-alocar o Javascript-array cujo comprimento é conhecido com antecedência.

escrita, leitura e acrescentando peças matriz

alcançar os componentes da matriz, você pode usar o operador [].A propósito, todas as componentes no JavaScript, partindo de zero, numerados.Para se obter os elementos necessários, o seu número é indicado entre parêntesis.Como regra geral, os artigos podem ser alteradas.A JavaScript para adicionar à matriz, é necessário atribuir um novo valor.

Note-se que na matriz de JavaScript pode armazenar qualquer número de elementos de qualquer tipo.

Corpo de

Então, nós sabemos o que JavaScript.O comprimento da matriz, em geral, é um fenómeno interessante.Vamos considerá-lo mais detalhadamente.Todas as faixas são projetados por uma matriz de designer (), e identificado graças a uma matriz literal para ter um comprimento propriedade específica, que recorda o número total de elementos são preservados.Desde a matriz pode ser incerto informações (denotados por indefinido), uma expressão mais precisa soa tão: comprimento de qualidade é sempre maior do que a por um maior número de componentes de matriz (índice).Comprimento Qualidade é ajustado automaticamente, ficando preciso na ocorrência em uma matriz de novas peças.

veio para o componente final da matriz, você pode usar o longa-metragem.

último item tem um índice é um a menos do que o tamanho da matriz.Após a contagem sempre começar do zero.Oh, isso JavaScript!O comprimento da matriz, depende do número exacto de itens.Portanto, se você não sabe o quanto eles devem ser, mas você precisa virar para o elemento final da matriz, você precisa aplicar o registro: v.length - 1.

partes Bust matriz

Muitas vezes, a propriedade length é usado para iterar a matriz de partes do ciclo:

  • frutas var = [«morango", "peach", "alimento", "banana"];
  • for (var i = 0; i & lt; fruits.lenght; i ++);
  • document.write
  • (frutas [i] + «...»).

Neste exemplo, verifica-se que componentes são colocados de forma contínua e começar com a primeira parte, que possui o índice zero.Se não, antes de chamar cada elemento da matriz deve ser verificado, se ele está definido.Ciclo

também é usado para inicializar componentes.

Zoom e matriz truncamento

saber como usar a linguagem JavaScript em uma matriz de cadeia para adicionar?No processo de trabalhar com matrizes, o comprimento do comprimento automaticamente melhora a qualidade, que é por isso que temos que se preocupar com isso sozinho.É necessário lembrar sobre um detalhe - a propriedade length não é só de leitura está disponível, mas para o registro.Se o atributo de comprimento para a qualidade do valor que dá o tamanho da corrente, em seguida, a matriz é reduzida para um valor predeterminado.Quaisquer componentes que não estão incluídos na nova gama de índices, recline, e seus valores são perdidos, mesmo que mais tarde voltar comprimento - não ser restaurados.

muito fácil de limpar porque a matriz: foo.length = 0.

Se a qualidade do comprimento prazo maior do que seu valor atual no final do array serão itens novos, não identificados que vão aumentar para o tamanho desejado.

matriz das partes Remoção

excluir operador especifica a matriz componente como undefined, mas ela continua a existir neste caso.Se for necessário remover um item da matriz JavaScript para que as partes restantes foram deslocados para um banco, você deve usar um dos métodos para prever o array.Método Array.shift () remove o primeiro componente, pop () - o ingrediente final, e o método splice () - uma ou uma série de componentes em qualquer lugar na matriz.

Multidimensional Arrays

acho que entendemos um pouco sobre o JavaScript.Matrizes bidimensionais - que precisam de ser aprofundadas.Você se lembra que matrizes de JavaScript como componentes podem conter outros elementos?Esta característica é usada para a produção de matrizes multi-dimensional.Para visitar os ingredientes em uma matriz de matrizes é suficiente para aplicar os suportes duas vezes.

matrizes associativas

Agora, nós aprendemos como marca registrada JavaScript usar arrays associativos.Para fazer isso, precisamos olhar para a teoria: as matrizes de associação são chamados às vezes uma tabela hash.Graças a eles, os índices usados ​​line.A utilização de tais estruturas reminiscentes da utilização da denominação das propriedades de um objecto simples, mas nesta forma de realização, quando se trabalha num formato de matriz.Como em JavaScript não há maneiras de operar matrizes associativas, eles são usados ​​com muito menos frequência do que o habitual.Deve-se notar que eles ainda podem ser úteis para armazenamento de dados e simplificar o armazenamento de peças para o qual você deseja acessar.

saída matriz

E agora vamos estudar no JavaScript?A saída da matriz para a caixa de diálogo (na tela), e os valores dos componentes da matriz de saída.

Se o programa que você deseja exibir os valores de todos os componentes, então é conveniente aplicar as instruções para.Curiosamente, a variável de contador é usado nas normas de matriz para este componente de índice.

Limpeza

Para filtrar matriz de JavaScript, você precisa redefinir o comprimento:

  • var myArray = [1, 2, 5, 23];
  • myArray.length = 0.

seguir mostra a implementação de destino clear (), em um quadro-JavaScript, Prototype:

  • clara: function () {;
  • this.length = 0;
  • devolver este;
  • }.

Adicionar e remover componentes

Bem, continuamos a explorar ainda mais essa linguagem interessante JavaScript.Elemento da matriz e pode ser removido e adicionado da mesma maneira como as propriedades convencionais de outros objectos.Mas há algumas diferenças: enquanto adiciona as propriedades numéricas pode alterar a qualidade de comprimento, ea modificação da propriedade comprimento pode ser eliminado de qualidade numérica.Em princípio, a configuração qualidades em tais matrizes algoritmo é:

  • Ao adicionar as propriedades desconhecidas de digital I, se o comprimento é igual a ou menor do que i, o comprimento é determinado para ser i + 1 ,.
  • Quando você altera a qualidade de comprimento são feitas da seguinte forma: se o valor atribuído é inferior a zero, em seguida, joga RangeError.Liquidados todos os índices de qualidade numéricos que são iguais ao novo comprimento, e maior do que.

Geralmente remover o elemento da matriz de JavaScript é fácil.Afinal de contas, ainda definir o comprimento, é necessário remover a partir dos componentes "extra".Daí a opção de limpeza na matriz.Se a variável é atribuído um novo matriz vazia, por algum motivo, não satisfeita, e é necessário repor a corrente, a sua qualidade é suficiente para atribuir um valor de comprimento zero.Métodos

unshift, turno, pop e empurrar

Apesar do fato de que os componentes da matriz são alterados manualmente, muitos de recomendar a aplicar métodos incorporados.É este nuance garante o valor correcto, a qualidade e a falta de comprimento nas passagens de matriz.By the way, o comprimento correto da qualidade irá coincidir com o número de componentes.Método push

move-se para o fim da matriz passou para os detalhes.Método pop dá de volta para o componente final e remove-lo.

Geralmente no Internet Explorer sob a oitava versão unshift pode retornar indefinido, em outros navegadores - o novo valor de comprimento.Assim, no valor de retorno do unshift é melhor não ter esperança.

Adição e eliminação de peças no meio da matriz

Se você quiser excluir uma matriz de JavaScript, você precisa tomar?Sabe-se que o método tem uma assinatura Array.prototype.splice splicing.

Ele retira a partir dos componentes de matriz deleteCount, começando com início índice.Se você transferiu mais de dois argumentos, todos os argumentos subseqüentes são colocados na matriz em vez de liquidada.Se é menos início, o índice de partida para retomar a retirada será igual ao comprimento + start.Retorna uma matriz de elementos vem da remota.

De facto, usando o método de splicing, os componentes podem ser removidos a partir do meio da matriz, ou adicionar qualquer número qualquer lugar na matriz.

No caso mais simples, se você precisa remover um componente com índice i, tem que solicitar o método de matriz emenda com os parâmetros i e 1.

Em princípio, a segunda opção para o método de emenda não é obrigatória, mas o comportamento de um argumento em cada navegador diferente.

Por exemplo, no Firefox, nos últimos variações de Opera, no Safari e Chrome em todos os itens serão retirados antes do fim da matriz.

no IE não será liquidado qualquer componente.A primeira variação é impossível prever o comportamento do Opera - será removido uma peça com início índice - 1. Portanto, você deve sempre passar no método de pelo menos dois componentes.

Chaves

curso, aprendendo JavaScript, matrizes associativas, como mencionado anteriormente, você deve também não perder de vista.Este é um tipo abstrato de informações (a interface para o armazenamento de dados), que permite que você salve pares da forma "(chave, valor)" e adicionar um par de operações de apoio, bem como apagar e procurar pares de chaves:

- FIND (chave).

- INSERT (valor, chave).

- REMOVE (key).Acredita

-se que na matriz associativa incapaz de salvar dois pares com a mesma chave.Em um par de k + vv valor chamado associado com chave k.A semântica e nomes acima operações em várias implementações de tais matrizes podem ser diferentes.

Assim, o efeito de FIND (chave) devolve o valor associado com uma dada tecla, ou um objecto FNUD específica, o que significa que o valor associado com uma determinada chave está ausente.Duas outras ações não retornam nada (exceto para os dados que você tenha executado com sucesso esta operação).

Geralmente, do ponto de vista da interface, o que é uma matriz associativa considerada como uma matriz simples, em que como índices pode ser aplicado não só a números inteiros, e outros tipos de valores - por exemplo, linhas.

forma, o apoio a essas matrizes tem muitas linguagens de programação de alto nível interpretadas como PHP, Perl, Ruby, Python, Tcl, JavaScript, e outros.Para idiomas que não têm built-in ferramentas para trabalhar com matrizes associativas, criou um grande número de implementações na forma de bibliotecas.

exemplo de uma matriz associativa pode servir como uma lista telefônica.Nesta forma de realização, o valor de um conjunto de "F.IO + e ", ea tecla - o número de telefone.Um número de telefone é um mestre, mas uma pessoa pode possuir várias salas.

Associated extensão

Note-se que o mais famoso de expansão incluem o seguinte:

  • EACH - «ir» para salvar todos os pares.
  • claro - para eliminar todas as entradas.
  • MIN - encontrar um par com a chave menor.
  • MAX - encontrar o par com o mais crucial.

Nos últimos dois casos você precisa sobre as teclas indicou efeitos de comparação.Implementações

de

associativa matrizes Há muitas implementações diferentes da matriz associativa.A implementação mais comum podem basear-se em uma matriz simples, cujos componentes são o (tecla valor) fumos.Para acelerar as ações de busca pode ser encomendado nos componentes da matriz e implementar descoberta chave, usando uma pesquisa binária.Mas vai aumentar a quantidade de tempo que você precisa para adicionar um novo par, como terá de "empurrar" os componentes da matriz que tem aparecido em uma célula vazia para embalar um novo recorde.

mais conhecido implementação, com base em várias árvores de pesquisa.Por exemplo, num típico STL sala de leitura de C ++ contentor MAP é realizada na base de preto e mogno.No estilo de Ruby, Tcl, Python utilizado um tipo de tabela de hash.Há também outra aplicação.

Em geral, cada aplicação tem as suas vantagens e desvantagens.É importante que todas as três operações foram cumpridas em média, e, no pior período de nuance sobre (log n), onde n - o número atual para salvar o par.Por concertadas árvores de busca (incluindo árvores preto e vermelho), esta condição é satisfeita.

conhecido que as implementações baseadas em tabelas de hash, definido como o tempo médio de O (1), que é melhor do que as ações baseadas no árvore de busca.Claro que, isto não garante uma alta velocidade de execução de certas operações: a duração da instrução INSERT é referido como o pior caso (n).INSERÇÃO processo é realizado durante um longo período de tempo, quando o racio de actividade atinge o ponto mais alto, e existe a necessidade de reconstruir a tabela de índice de hash.

forma, essas demonstrações de hash ruim que, nesta base, é impossível executar a ação adicional rápida MAX, MIN e algoritmo de passagem para salvar todos os pares, a fim de aumentar ou diminuir chaves.