Se você é um desenvolvedor experiente, pode pensar que essa pergunta é simples, mas às vezes achamos essa pergunta mais interessante.
Primeiro, vamos dar uma olhada na definição de uma matriz: "Uma matriz é apenas uma lista de valores que podem ser acessados usando um número inteiro como a" chave ". A lista começa em 0 e sobe a partir daí". , Aqui usamos objetos para descrever a definição de uma matriz:
A cópia do código é a seguinte:
var arr = ["benjamin", "zuojj"];
// =>
var arr = {
"0": "Benjamin",
"1": "Zuojj"
};
Olhando para o exemplo acima, sempre sinto que algo está faltando, ok, a duração da matriz:
A cópia do código é a seguinte:
var arr = {
"0": "Benjamin",
"1": "Zuojj",
"Comprimento": 2
};
Sabemos que na linguagem JavaScript, uma matriz é um objeto especial. Podemos acessar as propriedades do objeto acessando a matriz. Ao mesmo tempo, uma matriz também pode adicionar propriedades como um objeto. Veja o seguinte exemplo:
A cópia do código é a seguinte:
var arr = {
"0": "Benjamin",
"1": "Zuojj",
"Comprimento": 2
};
// Saídas: "Benjamin"
console.log (arr [0]);
// Saídas: 2
console.log (arr.length);
var arr = ["benjamin", "zuojj"];
arr.url = "www.vevb.com";
// saídas: "www.vevb.com"
console.log (arr.url);
// Saídas: 2
console.log (arr.length);
Vamos dar uma olhada nos métodos de matriz. Existem muitos métodos operacionais para matrizes, como indexof/slice/splice/classy, etc. Sabemos que esses métodos realmente existem no Array.prototype. Veja o seguinte exemplo:
A cópia do código é a seguinte:
var arr = ["benjamin", "zuojj"];
// Saídas: 1
console.log (arr.indexOf ("zuojj"));
arr.IndexOF = function (str) {
retornar "É personalizado indexOf!";
}
// Saídas: "É personalizado Indexof!"
console.log (arr.indexOf ("zuojj"));
De fato, podemos sobrecarregar todos os métodos de matriz usando objetos. Veja o seguinte exemplo do método push:
A cópia do código é a seguinte:
var arr = {
Comprimento: 0,
push: function (val) {
//Atribuição
este [this.length] = val;
// Atualize o comprimento da matriz
this.length += 1;
// retorna o comprimento da matriz
retornar este.length;
}
}
Arr.push ("zuojj");
Arr.push ("Benjamin");
// Objeto {0: "Zuojj", 1: "Benjamin", comprimento: 2, push: function}
console.log (arr);
Mas há uma definição literal de uma matriz que não pode ser implementada novamente:
A cópia do código é a seguinte: var arr = ["benjamin", "zuojj"];
Mas podemos usar o construtor: em vez disso:
A cópia do código é a seguinte: var arr = new Array ("Benjamin", "Zuojj");
Se a matriz de definição literal não for aplicável, podemos redefinir a definição da matriz, à nossa maneira.
A cópia do código é a seguinte: var myarr = new CustomArray ("Benjamin", "Zuojj");
Agora você sabe como as matrizes funcionam em JavaScript, espero que seja útil para todos.