Eu uso JS há muito tempo, mas nunca mergulhei na forma de JS. Ocasionalmente, use -o é simples string.split (char). Um projeto que fiz durante esse período usa muitas matrizes. Acho que sou um mestre do JS e não tenho idéia de como começar. Eu sou cruel e vou aprender! hehe. Depois de aprender, percebi que a função da matriz JS é muito poderosa, muito mais forte que o VB e o C#. Vamos dar uma olhada lentamente.
1. Criação de matrizes
var Arrayobj = new Array (); // Crie uma matriz var Arrayobj = nova matriz ([size]); // Crie uma matriz e especifique o comprimento, observe que não é o limite superior, é o comprimento var ArrayObj = nova matriz ([element0 [, element1 [, ... [, elementn]]]); // Crie uma matriz e atribua um valor
Deve -se notar que, embora o segundo método crie uma matriz que especifica o comprimento, de fato, a matriz é mais longa em todos os casos, ou seja, mesmo que o comprimento seja especificado, o elemento ainda pode ser armazenado fora do comprimento especificado. Nota: o comprimento mudará de acordo.
2. Acesso a elementos da matriz
var testGetGarrValue = Arrayobj [1]; // Obtenha o valor do elemento da matriz
Arrayobj [1] = "Este é um novo valor"; // atribui um novo valor ao elemento da matriz
3. Adicionando elementos de matriz
Código
Arrayobj. push ([Item1 [Item2 [... [Itemn]]]); // Adicione um ou mais novos elementos ao final da matriz e retorne o novo comprimento do Array Arrayobj.UnShift ([Item1 [Item2 [. Arrayobj.splice (insertpos, 0, [item1 [, item2 [, ..., [, itemn]]]]); // Insira um ou mais novos elementos na posição especificada da matriz, os elementos na posição de inserção se moverão automaticamente para trás e retornarão "".
4. Exclusão de elementos de matriz
Arrayobj.pop (); // Remova o último elemento e retorne o elemento valor Arrayobj.shift (); // Remova o último elemento e retorne o valor do elemento, os elementos da matriz avançarão automaticamente Arrayobj.splice (DeletePos, DeLeteCount); // Exclua os elementos do número especificado de DeleteCount a partir da posição especificada DeletePos e retorne o elemento removido na forma de matriz
5. Interceptar e mesclar as matrizes
Arrayobj.slice (start, [end]); // retorna parte da matriz na forma de uma matriz, observe que os elementos correspondentes ao final não estão incluídos. Se o fim for omitido, todos os elementos após o início serão copiados
Arrayobj.Concat ([Item1 [, Item2 [, .. [, Itemn]]]]); // conecta várias matrizes (também pode ser strings ou uma mistura de matrizes e strings) em uma matriz e devolver a nova matriz conectada
6. Cópia da matriz
Arrayobj.slice (0); // Retornar a matriz de cópias da matriz, observe que é uma nova matriz, não apontando para
Arrayobj.concat (); // Retornar a matriz de cópias da matriz, observe que é uma nova matriz, não apontando para
7. Classificar elementos de matriz
Arrayobj.Reverse (); // reverte o elemento (o primeiro é classificado em último, o último é classificado primeiro) e retorne o endereço da matriz
Arrayobj.sort (); // Classificar elementos da matriz e retornar o endereço da matriz
8. Cordamento de elementos de matriz
Arrayobj.join (separador); // Retorna uma string, que une cada valor do elemento da matriz, separado por um separador.
tolocalestror, tostragem, valorof: pode ser considerado um uso especial de junção, não usado com frequência
2. Três propriedades do objeto de matriz
1. Atributo de comprimento
O atributo de comprimento representa o comprimento da matriz, ou seja, o número de elementos nele. Como o índice de uma matriz sempre começa em 0, os limites superior e inferior de uma matriz são: 0 e comprimento-1, respectivamente. Ao contrário da maioria dos outros idiomas, a propriedade de comprimento das matrizes JavaScript é mutável, o que requer atenção especial. Quando o atributo de comprimento é definido para ser maior, o estado de toda a matriz não muda, apenas o atributo de comprimento se torna maior; Quando o atributo de comprimento é definido para ser menor que o original, todos os valores dos elementos com índices maiores ou iguais ao comprimento na matriz original são perdidos. Aqui está um exemplo que demonstra a alteração do atributo de comprimento:
Código
var Arr = [12,23,5,3,25,98,76,54,56,76]; // Defina um alerta de matriz (ar.Length); // exibe o comprimento da matriz por 10 ar.Length = 12; // Aumente o comprimento do alerta da matriz (Arr.Length); // mostra o comprimento da matriz se tornou 12 ARR (arr [8]); // Mostra o valor do 9º elemento, 56 arr.length = 5; // reduz o comprimento da matriz para 5 e elementos com um índice igual ou excedentes 5 são descartados alertas (arr [8]); // mostra que o 9º elemento tornou -se "indefinido" arr.length = 10; // restaura o comprimento da matriz para 10 arr (arr [8]); // Embora o comprimento seja restaurado para 10, o 9º elemento não pode ser retraído, mostrando "indefinido"
A partir do código acima, podemos ver claramente as propriedades do atributo de comprimento. Mas o objeto de comprimento não pode ser definido não apenas explicitamente, como também pode ser implicitamente modificado. Uma variável não declarada pode ser usada no JavaScript. Da mesma forma, um elemento de matriz indefinido (referindo -se a um elemento cujo índice excede ou é igual ao comprimento). No momento, o valor do atributo de comprimento será definido para o valor do índice de elementos usados mais 1. Por exemplo, o seguinte código:
var Arr = [12,23,5,3,25,98,76,54,56,76]; Alert (Arr.Length); ARR [15] = 34; Alert (Arr.Length);
O código também define primeiro uma matriz contendo 10 números. Através da declaração de alerta, pode -se observar que seu comprimento é 10. Então, um elemento com um índice de 15 é usado e o valor é 15, ou seja, arr [15] = 34. Nesse momento, a duração da matriz é emitida usando a instrução ALERT, e o resultado é 16. De qualquer forma, esse é um recurso surpreendente para os desenvolvedores acostumados a programação fortemente digitada. De fato, uma matriz criada usando a forma de new Array () tem um comprimento inicial de 0. É a operação de elementos indefinidos que altera o comprimento da matriz.
A partir da introdução acima, podemos ver que o atributo de comprimento é tão mágico que pode facilmente aumentar ou diminuir a capacidade da matriz. Portanto, um entendimento profundo do atributo de comprimento ajudará a aplicá-lo com flexibilidade durante o processo de desenvolvimento.
2. Atributos do protótipo
Retorna uma referência ao protótipo do tipo de objeto. O atributo de protótipo é compartilhado pelo objeto.
objectName.prototype
O parâmetro ObjectName é o nome do objeto do objeto.
ilustrar:
Use o atributo do protótipo para fornecer um conjunto de funções básicas da classe de um objeto. Uma nova instância de um objeto "herda" a operação que fornece o protótipo de objeto.
Para objetos de matriz, use o exemplo a seguir para ilustrar o objetivo do atributo protótipo.
Adicione um método ao objeto da matriz para retornar o valor máximo do elemento na matriz. Para conseguir isso, declare uma função, adicione -a ao Array.prototype e use -a.
Código
function array_max () {var i, max = this [0]; para (i = 1; i <this.length; i ++) {if (max <this [i]) max = this [i];} retorna max;} array.protype.max = array_max; var x = novo;Depois que este código é executado, Y economiza o valor máximo na matriz x, ou 6.
3. Atributo do construtor
Uma função que representa a criação de um objeto.
Object.Constructor // Objeto é o nome de um objeto ou função.
Descrição: A propriedade do construtor é um membro de todos os objetos com protótipo. Eles incluem todos os objetos herdados do JScript, exceto os objetos globais e matemáticos. A propriedade do construtor mantém uma referência a uma função que constrói uma instância de objeto específica.
Por exemplo:
x = new string ("oi");
if (x.Constructor == String) // Process (condição é verdadeira).
ou
função myfunc {
// Corpo de função.
}
y = novo myfunc;
if (y.Constructor == MyFunc) // Processo (condição é verdadeira).
Para matrizes:
y = new Array ();