Array Array
1. Introdução
Uma matriz é uma coleção ordenada de valores. Cada valor é chamado de elemento e cada elemento tem uma posição na matriz, representada por um número, chamada de índice. As matrizes JavaScript não são do tipo: os elementos da matriz podem ser de qualquer tipo, e elementos diferentes na mesma matriz também podem ter tipos diferentes. -"Guia autoritário para JavaScript (Sexta Edição)"
2. Definição
A cópia do código é a seguinte:
var nomes = new Array ("Zhang San", "Li Si", "Wang Wu");
//ou
var nomes = ["zhang san", "li si", "wang wu"];
3. Propriedades
Comprimento: representa o comprimento do elemento na matriz.
4. Método de exemplo
Métodos comuns:
1.
2) Shift (): Remova e retorne o primeiro elemento da matriz
3) push (): inserir elemento no final da matriz
4) pop (): remova e retorne o último elemento da matriz
4.1 Concat (): conecte os elementos à matriz. A matriz original não será modificada e a nova matriz será devolvida.
parâmetro:
①Value1, Value2 ... Valuen: qualquer número de valores
Valor de retorno:
{Array} Uma nova matriz que contém a matriz original e elementos recém -adicionados.
Exemplo:
A cópia do código é a seguinte:
var demoarray = ['a', 'b', 'c'];
var Demoarray2 = Demoarray.Concat ('E');
console.log (Demoarray); // => Demoarray: ['A', 'B', 'C'] A matriz original não muda
console.log (Demoarray2); // => ['a', 'b', 'c', 'e']
4.2 cada (): atravesse os elementos, por sua vez, para determinar se cada elemento é verdadeiro
parâmetro:
① função (valor, índice, self) {}: cada elemento usará esta função para determinar se é verdade. Quando é julgado que um é falso, a travessia será imediatamente encerrada.
Valor: o elemento da travessia da matriz
ÍNDICE: Número do elemento
Eu: a própria matriz
Valor de retorno:
{Boolean}: retorne verdadeiro apenas se cada elemento for verdadeiro; Se um for falso, retorne falso.
Exemplo:
A cópia do código é a seguinte:
VAR Demoarray = [1, 2, 3];
var rs = Demoarray.avery (função (valor, índice, self) {
valor de retorno> 0;
});
console.log (rs); // => true
4.3 FILTER (): Travesse os elementos Por sua vez e retorne uma nova matriz que contém elementos que atendem aos critérios.
parâmetro:
① função (valor, índice, self) {}: Cada elemento chama essa função, por sua vez, retornando uma nova matriz que contém elementos que atendem aos critérios.
Valor: o elemento da travessia da matriz
ÍNDICE: Número do elemento
Eu: a própria matriz
Valor de retorno:
{Array} uma nova matriz contendo elementos que correspondem aos critérios
Exemplo:
A cópia do código é a seguinte:
VAR Demoarray = [1, 2, 3];
var rs = Demoarray.Filter (função (valor, índice, self) {
valor de retorno> 0;
});
console.log (rs); // => [1, 2, 3]
4.4 foreach (): atravessar elementos em sequência e executar a função especificada; sem valor de retorno.
parâmetro:
① função (valor, índice, self) {}: cada elemento chama essa função por sua vez
Valor: o elemento da travessia da matriz
ÍNDICE: Número do elemento
Eu: a própria matriz
Valor de retorno: nenhum
Exemplo:
A cópia do código é a seguinte:
VAR Demoarray = [1, 2, 3];
Demoarray.ForEach (função (valor, índice, self) {
console.log (valor); // => Saída na sequência: 1 2 3
});
4.5 IndexOf (): Encontre elementos correspondentes em uma matriz. Se não houver elemento correspondente, retorne -1. Use o operador "===" ao pesquisar, para que você precise distinguir entre 1 e '1'
parâmetro:
①Value: o valor a ser encontrado na matriz.
②start: a posição do número de série que começa a pesquisar, se omitida, é 0.
Valor de retorno:
{Int}: retorna o primeiro valor correspondente na matriz. Se não existir, retorne -1
Exemplo:
A cópia do código é a seguinte:
['a', 'b', 'c']. indexOf ('a'); // => 0
['a', 'b', 'c']. indexof ('a', 1); // =>-1
['a', 'b', 'c']. indexOf ('d'); // =>-1
[1, 2, 3] .IndexOF ('1'); // => -1: o método de correspondência '===' usado
4.6 JONE (): Splique todos os elementos da matriz em uma string através de um delimitador.
parâmetro:
①Sparator {String}: o separador entre cada elemento. Se omitido, é separado pela vírgula inglesa ',' por padrão.
Valor de retorno:
{String}: uma string emendada por cada elemento com um esparador como um separador.
Exemplo:
A cópia do código é a seguinte:
['a', 'b', 'c']. junção (); // => 'a, b, c'
['a', 'b', 'c']. junção ('-'); // => 'ab-c'
4.7 LastIndexOF: Procure reversamente elementos correspondentes em uma matriz. Se não houver elemento correspondente, retorne -1. Use o operador "===" ao pesquisar, para que você precise distinguir entre 1 e '1'
parâmetro:
①Value: o valor a ser encontrado na matriz.
②start: a posição do número da sequência que começa a pesquisar. Se omitido, comece a pesquisar no último elemento.
Valor de retorno:
{Int}: comece a encontrar o primeiro valor correspondente na matriz da direita para a esquerda. Se não existir, retorne -1
Exemplo:
A cópia do código é a seguinte:
['A', 'B', 'C']. LastIndexOf ('A'); // => 0
['a', 'b', 'c']. LastIndexOf ('a', 1); // => 0
['a', 'b', 'c']. LastIndexOf ('d'); // => -1
[1, 2, 3] .LastIndexOf ('1'); // => -1: o método de correspondência '===' usado
4.8 map (): iterar e calcular cada elemento em sequência e retornar a matriz calculada de elementos
parâmetro:
① função (valor, índice, self) {}: cada elemento chama essa função, por sua vez, para retornar o elemento calculado
Valor: o elemento da travessia da matriz
ÍNDICE: Número do elemento
Eu: a própria matriz
Valor de retorno:
{Array} Uma nova matriz contendo até bons elementos
Exemplo:
A cópia do código é a seguinte:
[1, 2, 3] .map (função (valor, índice, self) {
valor de retorno * 2;
}); // => [2, 4, 6]
4.9 pop (): remova e retorne o último elemento da matriz
Parâmetros: Nenhum
Valor de retorno:
{Objeto} o último elemento da matriz; Se a matriz estiver vazia, retorne indefinido
Exemplo:
A cópia do código é a seguinte:
var demoarray = ['a', 'b', 'c'];
Demoarray.pop (); // => c
Demoarray.pop (); // => b
Demoarray.pop (); // => a
Demoarray.pop (); // => indefinido
4.10 push (): adicione elementos ao final da matriz
parâmetro:
①Value1, Value2 ... Valuen: Adicione qualquer número de valores ao final da matriz
Valor de retorno:
{int} o novo comprimento da matriz
Exemplo:
A cópia do código é a seguinte:
var demoarray = ['a', 'b', 'c'];
Demoarray.push ('D'); // => 4, Demoarray: ['A', 'B', 'C', 'D']
Demoarray.push ('e', 'f'); // => 6, Demoarray: ['A', 'B', 'C', 'D', 'E', 'F']
console.log (Demoarray); // => ['a', 'b', 'c', 'd', 'e', 'f']
4.11 reverse (): Inverta a ordem dos elementos da matriz.
Parâmetros: Nenhum
Valor de retorno: Nenhum (Ordem do elemento invertido na matriz original).
Exemplo:
A cópia do código é a seguinte:
var demoarray = ['a', 'b', 'c', 'd', 'e'];
Demoarray.Reverse ();
console.log (Demoarray); // => ["E", "D", "C", "B", "A"]
4.12 Shift (): Remova e retorne o primeiro elemento da matriz
Parâmetros: Nenhum
Valor de retorno:
{Objeto} o primeiro elemento da matriz; Se a matriz estiver vazia, indefinido será devolvido.
Exemplo:
A cópia do código é a seguinte:
var demoarray = ['a', 'b', 'c'];
Demoarray.shift (); // => a
Demoarray.shift (); // => b
Demoarray.shift (); // => c
Demoarray.shift (); // => indefinido
4.13 Slice (startIndex, endindex): retorna parte da matriz.
parâmetro:
① StartIndex: o número da sequência no início; Se for um número negativo, significa que o cálculo começa no final, -1 representa o último elemento, -2 é o segundo a durar e assim por diante.
②EndIndex: o último número de sequência do elemento no final, se não especificado, o final é o final. O elemento interceptado não contém o elemento com o número da sequência aqui, e o final é o elemento anterior com o número da sequência aqui.
Valor de retorno:
{Array} Uma nova matriz contendo todos os elementos do startIndex ao elemento anterior do endindex.
Exemplo:
A cópia do código é a seguinte:
[1, 2, 3, 4, 5, 6] .Slice (); // => [1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6] .Slice (1); // => [2, 3, 4, 5, 6]: a partir da série número 1
[1, 2, 3, 4, 5, 6] .Slice (0, 4); // => [1, 2, 3, 4]: interceptar o elemento do número de série 0 no número de série 3 (o anterior do número de série 4)
[1, 2, 3, 4, 5, 6] .Slice (-2); // => [5, 6]: Interceptar os próximos 2 elementos
4.14 Sort (opt_orderfunc): classificar de acordo com certas regras
parâmetro:
① opt_orderfunc (v1, v2) {function}: função de regra de classificação opcional. Se omitido, as letras do elemento serão classificadas de pequeno a grande.
v1: O elemento anterior é atravessado.
V2: Os seguintes elementos são atravessados.
Regras de classificação:
Compare V1 e V2 e retorne um número para representar as regras de classificação de V1 e V2:
Menos que 0: V1 é menor que V2, V1 está à frente de V2.
Igual a 0: v1 é igual a V2, V1 está à frente de V2.
Maior que 0: V1 é maior que V2, V1 está atrás de V2.
Valor de retorno: Nenhuma (operações de classificação na matriz original).
Exemplo:
A cópia do código é a seguinte:
[1, 3, 5, 2, 4, 11, 22] .Sort (); // => [1, 11, 2, 22, 3, 4, 5]: Todos os elementos são convertidos em caracteres, e os caracteres de 11 são antes de 2
[1, 3, 5, 2, 4, 11, 22] .Sort (função (v1, v2) {
retornar v1 - v2;
}); // => [1, 2, 3, 4, 5, 11, 22]: classificado de pequeno a grande
[1, 3, 5, 2, 4, 11, 22] .Sort (função (v1, v2) {
retornar - (v1 - v2); // inverso, você pode converter de grande para pequeno
}); // => [22, 11, 5, 4, 3, 2, 1]
4.15 Splice (): Insira e exclua elementos de matriz
parâmetro:
① Iniciar {int}: o número da sequência inicial para começar a inserir, excluir ou substituir.
②DeleteCount {int}: o número de elementos a serem excluídos, inicie o cálculo do início.
③Value1, Value2 ... Valuen {Object}: parâmetro opcional, indicando o elemento a ser inserido e começa a se inserir no início. Se o parâmetro ② não for 0, execute a operação de exclusão primeiro e depois execute a operação de inserção.
Valor de retorno:
{Array} Retorna uma nova matriz contendo elementos excluídos. Se o parâmetro ② for 0, significa que nenhum elemento é excluído e uma matriz vazia será retornada.
Exemplo:
A cópia do código é a seguinte:
// 1. Exclua
var demoarray = ['a', 'b', 'c', 'd', 'e'];
var Demoarray2 = Demoarray.splice (0, 2); // Exclua 2 elementos a partir de 0 do número da sequência e retorne uma matriz contendo os elementos excluídos: ['a', 'b']
console.log (Demoarray2); // => ['a', 'b']
console.log (Demoarray); // => ['c', 'd', 'e']
// 2. Insira
var demoarray = ['a', 'b', 'c', 'd', 'e'];
var Demoarray2 = Demoarray.splice (0, 0, '1', '2', '3'); // ② O parâmetro é 0, retorna uma matriz vazia
console.log (Demoarray2); // => []
console.log (Demoarray); // => ['1', '2', '3', 'a', 'b', 'c', 'd', 'e']
// 3. Exclua primeiro e depois insira
var demoarray = ['a', 'b', 'c', 'd', 'e'];
// Quando o parâmetro ② não é 0, execute a operação de exclusão primeiro (exclua 4 elementos com número de sequência começando de 0, retorne uma matriz contendo os elementos excluídos) e depois execute a operação de inserção
var Demoarray2 = Demoarray.splice (0, 4, '1', '2', '3');
console.log (Demoarray2); // => ['a', 'b', 'c', 'd']
console.log (Demoarray); // => ['1', '2', '3', 'a', 'b', 'c', 'd', 'e']
4.16 ToString (): costure todos os elementos da matriz em uma string através de uma vírgula inglesa ''.
Parâmetros: Nenhum
Valor de retorno:
{String} Todos os elementos da matriz são unidos em uma string por uma vírgula inglesa '' e retornados. O mesmo é chamar o método junção () sem parâmetros.
Exemplo:
A cópia do código é a seguinte:
[1, 2, 3, 4, 5] .ToString (); // => '1,2,3,4,5'
['a', 'b', 'c', 'd', 'e']. ToString (); // => 'a, b, c, d, e'
4.17 NEMNAFFT (): Inserir elemento na cabeça da matriz
parâmetro:
①Value1, Value2 ... Valuen: Adicione qualquer número de valores ao cabeçalho da matriz
Valor de retorno:
{int} o novo comprimento da matriz
Exemplo:
A cópia do código é a seguinte:
var demoarray = [];
Demoarray.unshift ('A'); // => Demoarray: ['a']
Demoarray.unshift ('B'); // => Demoarray: ['B', 'A']
Demoarray.unshift ('C'); // => Demoarray: ['C', 'B', 'A']
Demoarray.unshift ('D'); // => Demoarray: ['D', 'C', 'B', 'A']
Demoarray.unshift ('e'); // => Demoarray: ['e', 'd', 'c', 'b', 'a']
5. Método estático
5.1 Array.esArray (): determina se o objeto é uma matriz
parâmetro:
①Value {objeto}: qualquer objeto
Valor de retorno:
{Boolean} retorna o resultado do julgamento. Quando é verdade, significa que o objeto é uma matriz; Quando falso, significa que o objeto não é uma matriz
Exemplo:
A cópia do código é a seguinte:
Array.isarray ([]); // => true
Array.isarray (['A', 'B', 'C']); // => true
Array.esArray ('A'); // => false
Array.isarray ('[1, 2, 3]'); // => false
6. Operação prática
6.1 ÍNDICE
Descrição: Cada elemento tem uma posição na matriz, representada por um número, chamada de índice. O índice começa em 0, ou seja, o índice do primeiro elemento é 0, o índice do segundo elemento é 1 e assim por diante;
Ao obter um índice que não existe em uma matriz, a indefinição é retornada.
Exemplo:
A cópia do código é a seguinte:
var demoarray = ['a', 'b', 'c', 'd', 'e'];
Demoarray [0]; // => Obtenha o primeiro elemento: 'a'
Demoarray [0] = 1; // defina o primeiro elemento como 1
console.log (Demoarray); // => Demoarray: [1, 'B', 'C', 'D', 'E']
console.log (Demoarray [9]); // => indefinido: retornar indefinido quando o índice obtido não existe
6.2 Para declarações
Nota: você pode atravessar a matriz um por um através da declaração for
Exemplo:
A cópia do código é a seguinte:
var demoarray = ['a', 'b', 'c', 'd', 'e'];
for (var i = 0, comprimento = Demoarray.length; i <comprimento; i ++) {
console.log (Demoarray [i]); // => Elementos de saída na matriz um por um
}
6.3 Cópia rasa
Nota: o tipo de matriz é um tipo de referência; Quando a matriz A é copiada para a matriz B, a modificação do elemento é feita para a matriz B e a matriz A também será modificada.
Exemplo:
A cópia do código é a seguinte:
var deMoarraya = ['a', 'b', 'c', 'd', 'e'];
var DemoarrayB = Demoarraya; // Atribua a matriz A para a matriz B
DemoarrayB [0] = 1; // modifica os elementos da matriz B
console.log (Demoarraya); // => [1, 'b', 'c', 'd', 'e']: os elementos da matriz a também mudaram
6.4 cópia profunda
Nota: use o método concat () para retornar uma nova matriz; Evite cópia superficial, execute operações de modificação de elementos na matriz B e a matriz A não mudará.
Exemplo:
A cópia do código é a seguinte:
var deMoarraya = ['a', 'b', 'c', 'd', 'e'];
var DemoarrayB = Demoarraya.Concat (); // Use o método concat () para retornar uma nova matriz
DemoarrayB [0] = 1; // modifica os elementos da matriz B
console.log (Demoarraya); // => ['a', 'b', 'c', 'd', 'e']: os elementos da matriz a não mudaram
console.log (DemoarrayB); // => [1, 'b', 'c', 'd', 'e']: o elemento da matriz B mudou