Javascript: Objeto Array

Origem: Wikilivros, livros abertos por um mundo aberto.

[editar] Definição

O objeto Array (matriz ou vetor) pode ser tanto criado implicitamente:

var m = [1, 2, 3, 4];

quanto explicitamente:

var m = new Array(1, 2, 3, 4);

Este objeto manipula uma coleção de outros objetos.

[editar] Atributos

Nome Descrição
length Quantidade de elementos que tem a matriz

[editar] Métodos

Nome Descrição
concat Retorna uma nova matriz, concatenando a primeira matriz (original) com os valores ou matrizes dados como argumentos. Exemplo:
var m = ["sergio", "eduardo"];
var n = m.concat("rodrigues");

n terá valor: ["sergio", "eduardo", "rodrigues"]

join Junta todos os elementos da matriz em uma string, colocando um separador entre os itens. Exemplo:
var m = ["sergio", "eduardo", "rodrigues"];
var n = m.join("+ ");

n terá valor: "sergio+ eduardo+ rodrigues"

pop Remove o último elemento da matriz, retornando o elemento removido. Exemplo:
var m = ["sergio", "eduardo", "rodrigues"];
var n = m.pop();

n terá valor: "rodrigues"; e m: ["sergio", "eduardo"]

push Adiciona elementos ao final da matriz. O valor de retorno depende da versão do JavaScript: até a 1.2, o método retorna o último elemento adicionado; a partir da 1.3, retorna o novo tamanho da matriz. Exemplo:
var m = ["sergio", "eduardo"];
var n = m.push("rodrigues");

n terá valor: "rodrigues" (JS < 1.3) ou 3 (JS ≥ 1.3) e m: ["sergio", "eduardo", "rodrigues"]

reverse Inverte a ordem dos elementos da matriz. Exemplo:
var m = ["sergio", "eduardo", "rodrigues"];
var n = m.reverse();

n e m terão valor: ["rodrigues", "eduardo", "sergio"]

shift Remove o primeiro elemento da matriz, retornando o elemento removido. Exemplo:
var m = ["sergio", "eduardo", "rodrigues"];
var n = m.shift();

n terá valor: "sergio"
m terá valor: ["eduardo", "rodrigues"]

slice(início, fim) ou
slice(início)
Retorna uma faixa da matriz, extraindo elementos a partir de início e até (mas não inclusive) fim. Se fim for omitido, extrai-se até o fim da matriz. fim também pode ser negativo; -1 indica o último elemento (que não será extraído, nesse caso). Exemplo:
var m = ["a", "b", "c", "d", "e", "f", "g", "h"];
var n = m.slice(0, 2);

n terá valor: ["a", "b"]

splice(início)

splice(início, número)
splice(início, número, itens a inserir...)

Adiciona e/ou remove faixas dentro de uma matriz. O primeiro argumento é o índice a partir do qual devem ser feitas as mudanças ? remover "número" itens e adicionar os "itens a inserir". Exemplo:
var m = ["a", "b", "c", "d", "e", "f", "g", "h"];
var n = m.splice(0, 2);

n terá valor: ["a", "b"]
m terá valor: ["c", "d", "e", "f", "g", "h"]

sort()

sort(função_de_comparação(a, b))

Ordena a matriz, opcionalmente com base em uma função de comparação personalizada. Exemplo:
var m = ["sergio","eduardo","rodrigues"];
var n = m.sort()

n terá valor: ["eduardo","rodrigues","sergio"]

No caso de passar a função de comparação, ela deve retornar um valor menor que zero se a < b (a deve ser classificado antes de b), 0 se a = b e maior que zero se a > b.

unshift(item, ...) Adiciona um ou mais elementos ao inicio da matriz. Exemplo:
var m = ["sergio", "eduardo", "rodrigues"];
m.unshift("sr");

m terá valor: ["sr", "sergio", "eduardo", "rodrigues"]