# Vanilla
# Array
# Map
Retorna um novo array por meio de uma funcao de tratamento
const num = [4, 5, 8, 9, 50]
function dobraNumero(num) {
return num * 2
}
const resultadoDobraNumero = numeros.map(dobraNumero)
1
2
3
4
5
6
7
2
3
4
5
6
7
const produtos = [
{ nome: 'Produto 1', preco: 23.67, desconto: 0.2 },
{ nome: 'Produto 2', preco: 45, desconto: 0.5 },
{ nome: 'Produto 3', preco: 1520.88, desconto: 0.15 },
{ nome: 'Produto 4', preco: 10.99, desconto: 0.05 }
]
function custo(produtoDesconto) {
return parseInt(produtoDesconto * 0.3)
}
function aplicaDesconto(produto) {
return produto.preco * (1 - produto.desconto)
}
const resultadoAplicaDesconto = produtos.map(aplicaDesconto).map(custo)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Filter
Retorna um novo array por meio de uma funcao de filtragem
const notasAlunos = [5, 8.1, 3, 10, 4.2, 7, 6.9]
function notasAprovadas(nota) {
return nota > 7
}
const resultado = notasAlunos.filter(notasAprovadas)
// [8.1, 10, 7]
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
const produtos = [
{ nome: 'Produto 1', preco: 23.67, desconto: 0.2 },
{ nome: 'Produto 2', preco: 45, desconto: 0.5 },
{ nome: 'Produto 3', preco: 1520.88, desconto: 0.15 },
{ nome: 'Produto 4', preco: 10.99, desconto: 0.05 }
]
function produtosCaros(produto) {
return produto.preco > 1000.00
}
function custo(produtoDesconto) {
return parseInt(produtoDesconto * 0.3)
}
function aplicaDesconto(produto) {
return produto.preco * (1 - produto.desconto)
}
const resultadoAplicaDesconto = produtos
.filter(produtosCaros)
.map(aplicaDesconto)
.map(custo)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Reduce
Reduz o array em um unico valor.
Recebe 4 parametros, sendo os dois ultimos opcionais.
reduce(acumulador, valorAtual, index, array)
1
- acumulador: valor retornado na última invocação
- valorAtual: elemento atual que está sendo processado no array
- index: opcional, índice do elemento atual que está sendo processado no array
- array: opcional, array ao qual a função reduce() foi chamada
const numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
// a: acumulador
// b: valorAtual
function soma(a, b) {
return a, b
}
const resultado = numeros.reduce(soma)
// 55
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Passando valor inicial
// a: acumulador
// b: valorAtual
function soma2(a, b) {
return a, b
}
// reduce(soma, valorInicial)
const resultado = numeros.reduce(soma, 1000)
// 1055
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# Find
Retorna o valor do primeiro elemento do array que satisfizer a função provida ou undefined caso nao encontrado.
const notasAlunos = [5, 8.1, 3, 10, 4.2, 7, 6.9]
const found = notasAlunos.find(nota => nota > 8)
// 8.1
1
2
3
4
2
3
4
# Includes
Retorna true se existir o valor passado dentro do array ou false se nao encontrar
Aceita um segundo parametro que seria o indice de start no array, é opcional, se nao informado comeca no indice 0 do array
const notasAlunos = [5, 8.1, 3, 10, 4.2, 7, 6.9]
const found = notasAlunos.includes(5)
// true
found = notasAlunos.includes(2)
// false
[1, 2, 3].includes(3, 3)
// false (nao tem indice 3)
[1, 2, 3].includes(3, -1)
// true
[1, 2, NaN].includes(NaN)
// true
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Object
# Object.keys
Retorna um array com todas as propriedades do objeto
const pessoa = {
nome: 'Fulano',
idade: 34,
altura: 1.76,
peso: 100.00
}
const pessoaPropriedades = Object.keys(pessoa)
// ['nome', 'idade', 'altura', 'peso']
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
← Introducao ECMAScript →