Instituto Federal de Mato Grosso do SulAgosto/2022

04. Arrays
Algoritmos 2
Prof. Rodrigo Duran
Nesta aula vamos:
-
Aprender a manipular arrays e seus métodos
Vamos observar como variáveis podem armazenar mais de um valor (elemento) utilizando arrays e como manipular esses arrays utilizando tanto índices quanto métodos dos arrays em JavaScript.
Variáveis: só pode haver um?
Uma variável Um local nomeado para um único valor na memória do computador só pode armazenar um valor (em um dado momento)... certo?
let numero = 0
let name = "Algoritmos 2"
numero = 3
console.log(numero)
Coleções
Entretanto, em várias situações é desejável que o computador manipule informações que são relacionadas entre si. Por exemplo:
- Medições de temperatura no decorrer do ano
- Variação populacional de uma cidade durante uma década
- Lista de compras, listas de tarefas
- Suas notas na disciplina de Algoritmos 2.
Para armazenar esse tipo de informação, nós utilizamos coleções. Uma coleção pode conter, por exemplo, todos os seus amigos no WhatsApp. Um valor armazenado em uma coleção é chamado de elemento. Um elemento pode ser um único contato na sua lista de contatos, por exemplo.
Criando Arrays
Um dos tipos de coleções em JavaScript é o arrayuma coleção de determinado tamanho, incluindo tamanho 0 (sem elementos), que referencia a ordem de seus elementos por um índice.. Para criar um array basta declarar uma variável inicializando-a com os valores entre [ ]. Cada elemento dentro do array é separado por virgulas.
let MeusNumeros = [1, 2 , 3, 4]
let Contatinhos = ["José", "Vitor", "André", "Fabio"]
let Vazio = []
Imprimindo Arrays
Você pode imprimir uma variável array
let frutas = ["Banana", "Laranja", "Maçã", "Manga"]
console.log(frutas)
Ou imprimir cada um de seus elementos
console.log(frutas[1])
console.log(frutas[3])
console.log(frutas[4])
Manipulando Arrays
Os elementos de um array podem ser manipulados como uma variável
let numeros = [1, 3, 5 ,7, 9]
console.log(numeros[0])
console.log(numeros[0]+numeros[1])
console.log(numeros[2]+ 20)
Visualizando Arrays
QUIZ!
O array está corretamente criado?
let coisas = ["Meias" "Tênis" "Rolha"]
console.log(coisas)
QUIZ!
O array está corretamente criado?
let impar = {1, 3, 5, 7, 9}
console.log(impar)
QUIZ!
O que será impresso no console pelo programa abaixo?
let pares = [2, 8, 0, 4, 6, 10]
console.log(pares)
- pares
- 2
- []
- 10
- 2, 8, 0, 4, 6, 10
QUIZ!
O que será impresso no console pelo programa abaixo?
let pares = [2, 8, 0, -1, 6, 10]
let x = pares[2+2]
console.log(x)
- Undefined
- 8
- 6
- -1
- 0
Manipulando Arrays
Você pode alterar, adicionar ou remover elementos de um array...
let contatinhos = ["José", "Vitor", "André", "Fabio"]
contatinhos[1] = "Paulo"
contatinhos.push("Michael")
console.log(contatinhos.pop())
console.log(contatinhos.shift())
console.log(contatinhos)
Visualizando Arrays
QUIZ!
O que será impresso no console pelo programa abaixo?
let avengers = ["Captain America", "Hulk", "Thor", "Black Widow", "Hawkeye", "Ironman"]
avengers[3] = "Scarlet Witch"
console.log(avengers)
- ["Captain America", "Hulk", 3, "Black Widow", "Hawkeye", "Ironman"]
- ["Captain America", "Hulk", "Scarlet Witch", "Black Widow", "Hawkeye", "Ironman"]
- ["Captain America", "Hulk", "Thor", "Scarlet Witch", "Hawkeye", "Ironman"]
- ["Captain America", "Hulk", "Thor", 3, "Hawkeye", "Ironman"]
QUIZ!
O que será impresso no console pelo programa abaixo?
let avengers = ["Captain America", "Hulk", "Thor", "Black Widow", "Hawkeye", "Ironman"]
console.log(avengers.pop())
- ["Hulk", "Thor", "Black Widow", "Hawkeye", "Ironman"]
- ["Captain America", "Hulk", "Thor", "Black Widow", "Hawkeye"]
- ["Captain America", "Thor", "Black Widow", "Hawkeye", "Ironman"]
- ["Hulk", "Thor", "Black Widow", "Hawkeye"]
QUIZ!
O que será impresso no console pelo programa abaixo?
let avengers = ["Captain America", "Hulk", "Thor", "Black Widow", "Hawkeye", "Ironman"]
avengers.push("Spiderman")
console.log(avengers)
- ["Spiderman", "Captain America", "Hulk", "Thor", "Black Widow", "Hawkeye", "Ironman"]
- ["Captain America", "Hulk", "Thor", "Black Widow", "Hawkeye", "Ironman", "Spiderman"]
- ["Captain America", "Spiderman", "Hulk", "Thor", "Black Widow", "Hawkeye", "Ironman"]
- ["Captain America", "Hulk", "Thor", "Black Widow", "Hawkeye", "Spiderman", "Ironman"]
QUIZ!
O que será impresso no console pelo programa abaixo?
let avengers = ["Captain America", "Hulk", "Thor", "Black Widow", "Hawkeye", "Ironman"]
avengers.push("Spiderman")
avengers.shift()
avengers.push("Vision")
avengers.pop()
console.log(avengers)
- ["Spiderman", "Captain America", "Hulk", "Thor", "Black Widow", "Hawkeye"]
- ["Hulk", "Thor", "Black Widow", "Hawkeye", "Ironman", "Vision"]
- ["Hulk", "Thor", "Black Widow", "Hawkeye", "Ironman", "Spiderman", "Vision"]
- ["Hulk", "Thor", "Black Widow", "Hawkeye", "Ironman", "Spiderman"]
Propriedades e funcões úteis
Tamanho de um array
let legumes = ["cebola", "alho", "quiabo"]
console.log(legumes.length)
Inidice de um determinado elemento
let indice = legumes.indexOf("alho")
console.log(indice)
let indice2 = legumes.indexOf("cenoura")
console.log(indice2)
Removendo um elemento de uma posição específica
legumes.splice(1,1)
console.log(legumes)
Repartindo um array
let legumes = ["cebola", "alho", "quiabo", "cenoura"]
refogar = legumes.slice(2)
console.log(legumes, refogar)
["quiabo", "cenoura"]
QUIZ!
O que será impresso no console pelo programa abaixo?
let avengers = ["Captain America", "Hulk", "Thor", "Black Widow", "Hawkeye", "Ironman"]
avengers.splice(1,2)
console.log(avengers)
- ["Captain America", "Hulk", "Hawkeye", "Ironman"]
- ["Thor", "Black Widow", "Hawkeye", "Ironman"]
- ["Captain America", "Black Widow", "Hawkeye", "Ironman"]
- ["Captain America", "Thor", "Black Widow", "Hawkeye", "Ironman"]
QUIZ!
O que será impresso no console pelo programa abaixo?
let avengers = ["Captain America", "Hulk", "Thor", "Black Widow", "Hawkeye", "Ironman"]
let westcoastavengers = avengers.slice(3)
console.log(westcoastavengers)
- ["Black Widow", "Hawkeye", "Ironman"]
- ["Hawkeye", "Ironman"]
- ["Thor", "Black Widow", "Hawkeye", "Ironman"]
Propriedades e funcões úteis
Criando um array a partir de uma string
let pacote = "Rodrigo|IFMS|Londrina|PR"
let informacao = pacote.split("|")
console.log(informacao)
Copiando uma variável array para outra variável
let numeros = [1, 2, 3, 5]
nnum = [...numeros]
console.log(nnum)
nnum = numeros
numeros.push(6)
console.log(numeros, nnum)
Acessando o primeiro elemento do Array
let frutas = ["abacaxi", "morango", "banana", "kiwi"]
primeiro = frutas[0]
console.log(primeiro)
Acessando o último elemento do Array
let frutas = ["abacaxi", "morango", "banana", "kiwi"]
ultimo = frutas[frutas.length-1]
console.log(ultimo)
Concatenando (merge) dois arrays
let frutas = ["abacaxi", "morango", "banana", "kiwi"]
let legumes = ["cebola", "alho", "aipo"]
let compras = frutas.concat(legumes)
console.log(compras)
QUIZ!
O que será impresso no console pelo programa abaixo?
let mxyzptlk = "msgpisegredopialgpi2"
let decode = mxyzptlk.split("pi")
console.log(decode)
- "msg pi segredo pi alg pi 2"
- "msg segredo alg 2"
- [msg, pi, segredo, pi, alg, pi, 2]
- [msg, segredo, alg, 2]
QUIZ!
Substitua o ? pelo código correspondente para copiar o array chave no array copia
let chave = [12,37,1578,1,-3]
let copia = ?
console.log(copia)
Template: Procurar e remover
Templates são planos (ou estereótipos) que serão frequentemente utilizados para solucionar um determinado problema em um determinado contexto.
No caso do template de procurar e remover temos como um problema remover um item qualquer de uma coleção espera-se como resultado o array sem o item desejado ou uma mensagem de erro caso o item não exista dentro do array.
