Um tutorial básico orientado a exemplos de como funcionam os vetores em JavaScript.
Criando e acessando um vetor
var planetas = new Array()
planetas[0] = "Mercúrio"
planetas[1] = "Vênus"
planetas[2] = "Terra"
planetas[3] = "Marte"
planetas[4] = "Júpiter"
planetas[5] = "Saturno"
planetas[6] = "Urano"
planetas[7] = "Neptuno"
for (i=0;i
Que vai escrever isso:
Mercúrio
Vênus
Terra
Marte
Júpiter
Saturno
Urano
Neptuno
Iterando no vetor
var planetas = new Array()
planetas[0] = "Mercúrio"
planetas[1] = "Vênus"
planetas[2] = "Terra"
planetas[3] = "Marte"
planetas[4] = "Júpiter"
planetas[5] = "Saturno"
planetas[6] = "Urano"
planetas[7] = "Neptuno"
for (i in planetas){
document.write(planetas[i] + "")
}
vai retornar a mesma saÃda do primeiro programa:
Que vai escrever isso:
Mercúrio
Vênus
Terra
Marte
Júpiter
Saturno
Urano
Neptuno
Concatenando dois vetores
var litoral = new Array()
litoral[0] = "Jericoacoara"
litoral[1] = "Paracuru"
litoral[2] = "Tabuba"
var sertao = new Array()
sertao[0] = "Itapipoca"
sertao[1] = "Ubajara"
sertao[2] = "Juazeiro"
var ceara = litoral.concat(sertao)
document.write(litoral+"
")
document.write(sertao+"
")
document.write(ceara+"
")
Jericoacoara,Paracuru,Tabuba
Itapipoca,Ubajara,Juazeiro
Jericoacoara,Paracuru,Tabuba,Itapipoca,Ubajara,Juazeiro
Unindo os elementos de um vetor
var letras = new Array(3)
letras[0] = "A"
letras[1] = "B"
letras[2] = "C"
document.write(letras.join() + "")
document.write(letras.join("@"))
A,B,C
A@B@C
Ordenação Literal
Essa ordenação é feita sem usar nenhum parâmetro, então a ordem lexicográfica, a do dicionário.
var coisas = new Array(4)
coisas[0] = "casa"
coisas[1] = "bonde"
coisas[2] = "alvo"
coisas[3] = "dado"
document.write(coisas + "")
document.write(coisas.sort()+ "")
document.write(coisas + "")
Note que depois do .sort() o vetor é alterado.
casa,bonde,alvo,dado
alvo,bonde,casa,dado
alvo,bonde,casa,dado
Ordenação usando uma função de ordenação
A ordenação literal não vai funcionar bem nesse caso, então nos definimos uma função para ordenação. Ela deve retornar zero se ambos forem iguais, um número positivo se o primeiro for maior que o segundo e um número negativo se o segundo for maior que o primeiro.
function sortNumber(a, b){
return a - b
}
var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"
document.write(arr + "")
document.write(arr.sort()+"
")
document.write(arr.sort(sortNumber))
10,5,40,25,1000,1
1,10,1000,25,40,5
1,5,10,25,40,1000
Retirando o último elemento
O pop retorna o último elemento do vetor e o retira.
var gatos = new Array(3)
gatos[0] = "Frida"
gatos[1] = "Sauber"
gatos[2] = "Boris"
document.write(gatos + "")
document.write(gatos.pop() + "")
document.write(gatos)
Frida,Sauber,Boris
Boris
Frida,Sauber
Inserindo elementos no final do vetor
O push insere um elemento no final do vetor e retorna seu novo tamanho.
var animais = new Array(3)
animais[0] = "Frida"
animais[1] = "Sauber"
animais[2] = "Frida"
document.write(animais + "")
document.write(animais.push("Vida")+ "")
document.write(animais)
Frida,Sauber,Frida
4
Frida,Sauber,Frida,Vida
Inserindo elementos no inicio do vetor
var inst = new Array(3)
inst[0] = "Baixo"
inst[1] = "Guitarra"
inst[2] = "Piano"
document.write(inst + "")
document.write(inst.unshift("Flauta") + "")
document.write(inst)
Baixo,Guitarra,Piano
4
Flauta,Baixo,Guitarra,Piano
Retirando elemento no inicio do vetor
var inst = new Array(3)
inst[0] = "Baixo"
inst[1] = "Guitarra"
inst[2] = "Piano"
document.write(inst + "")
document.write(inst.shift() + "")
document.write(inst)
Baixo,Guitarra,Piano
Baixo
Guitarra,Piano