Disciplina: Programação Web II
Prof.ª: maria Arruda
Assunto: Métodos de Array
Os métodos map, filter, every, find, reduce, foreach são métodos de array em
JavaScript e fazem parte do que chamamos de funções de ordem superior (ou
high-order functions). Elas recebem uma função como argumento e operam
sobre os elementos do array, retornando um novo valor (ou verificando uma
condição). Vamos ver cada um brevemente:
Map(): Útil quando precisamos passar por todos os elementos da lista e altera-
los.
var lista=[1,2,3,4,5]
var dobro=lista.map(function(n){
return n*2
})
console.log(dobro)
Como ele funciona:
Map aplica a função para cada elemento da lista e cria um novo array com base
nos retornos da fução de call-back, como o map nos devolve um novo array, o
array original nunca é alterado.
Filter(): Filter é utilizado quando temos a necessidade de filtrar a nossa lista de
acordo com critérios.
Ex1:
const numeros = [1, 2, 3, 4];
const pares = numeros.filter(n => n % 2 === 0);
console.log(pares)
Ex2:
var alunos=[
{aluno:'Mary arrud', nota:8},
{aluno:'George Henrique',nota:10},
{aluno:'Hilda do Nascimento',nota:8},
{aluno:'Francisca Garcia', nota:7}
]
const lista_alunos=alunos.filter(aluno=>aluno.nota>=8)
lista_alunos.forEach((aluno)=>{
console.log(aluno.aluno)
})
Como ele funciona:
Retorna um novo array com os elementos que passaram no teste lógico (função de
callback retorna true).
Every():
Retorna true se todos os elementos do array satisfazem a condição dada.
var alunos=[
{nome:"Maria", idade:19},
{nome:"André",idade:35},
{nome:"Paula",idade:17},
{nome:"George", idade:20}
]
var todosMaiores= alunos.every(function(aluno){
return aluno.idade>=18
})
console.log(todosMaiores)
Como funciona:
Não retorna um array mais sim um boolean e utliza o operador and em cada
retorno.
Find(): Útil para a realização de busca de dados
const frutas = ['maçã', 'banana', 'abacaxi'];
const resultado = frutas.find(fruta => fruta.startsWith('b'));
console.log(resultado);
Como funciona:
Faz uma busca no array a partir de um critério na função de call-back e retorna
o primeiro elemento do array que satisfaz a condição da função.
Reduce(): Processa um conjunto de valores e retornando um único
valor.
const numeros = [1, 2, 3, 4];
const soma = numeros.reduce((acumulador, valorAtual) => acumulador +
valorAtual, 0);
console.log(soma);
Explicação: acumulador começa com 0
Passo a passo:
0+1=1
1+2=3
3+3=6
6 + 4 = 10
const ns = [1, 2, 3, 4];
const mult = numeros.reduce((acumulador, valorAtual) => acumulador *
valorAtual,1);
console.log(mult);
Explicação: acumulador começa com 1
Passo a passo:
1*1=1
1*2=2
2*3=6
6*4=24
Como funciona:
Reduz o array a um único valor, aplicando uma função acumuladora da
esquerda para a direita.
forEach(): Executa uma função para cada elemento do array.
Não retorna valor, só executa efeitos colaterais (como exibir no console, alterar
uma variável externa etc).
const nomes = ['Ana', 'Bruno', 'Carlos'];
nomes.forEach(nome => console.log(nome));