8.1 Método forEach()
Os métodos de iteração em arrays no JavaScript oferecem ferramentas poderosas para trabalhar com arrays, permitindo realizar
diversas operações em seus elementos. Neste tema, vamos dar uma olhada nos principais métodos de iteração, incluindo
forEach()
, map()
, filter()
, reduce()
, some()
,
every()
, find()
, e findIndex()
.
O método forEach()
executa a função especificada uma vez para cada elemento do array. Este método não retorna um novo array e não é interrompido.
Sintaxe:
array.forEach(function(element, index, array) {
// corpo da função
});
Exemplo:
O método forEach()
percorre cada elemento do array numbers[]
e exibe seu índice e valor.
const numbers = [1, 2, 3, 4, 5];
numbers.forEach((number, index) => {
console.log(`Index: ${index}, Value: ${number}`);
});
// Saída:
// Index: 0, Value: 1
// Index: 1, Value: 2
// Index: 2, Value: 3
// Index: 3, Value: 4
// Index: 4, Value: 5
8.2 Método map()
O método map()
cria um novo array com o resultado da função chamada para cada elemento do array.
Sintaxe:
const newArray = array.map(function(element, index, array) {
// corpo da função
return novo_valor;
});
A função transformadora também pode ser escrita como uma arrow function:
const newArray = array.map((element, index, array) => novo_valor);
Exemplo:
O método map()
cria um novo array squared[]
, contendo os quadrados dos números do array numbers[]
.
const numbers = [1, 2, 3, 4, 5];
const squared = numbers.map(number => number * number);
console.log(squared); // [1, 4, 9, 16, 25]
8.3 Método filter()
O método filter()
cria um novo array com todos os elementos que passaram no teste implementado pela função fornecida.
const newArray = array.filter(function(element, index, array) {
// corpo da função
return condição;
});
A função de filtro também pode ser escrita como uma arrow function:
const newArray = array.filter((element, index, array) => condição);
Exemplo:
O método filter()
cria um novo array evenNumbers[]
, contendo apenas os números pares do array numbers[]
.
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter(number => number % 2 === 0);
console.log(evenNumbers); // [2, 4]
8.4 Método reduce()
O método reduce()
aplica uma função contra um acumulador e cada elemento do array (da esquerda para a direita) para reduzi-lo a um único valor.
Sintaxe:
const result = array.reduce(function(accumulator, current, index, array) {
// corpo da função
return novo_valor_acumulador;
}, initialValue);
A função acumuladora também pode ser escrita como uma arrow function:
const result = array.reduce((accumulator, current, index, array) =>
novo_valor, initialValue
);
Exemplo:
O método reduce()
reduz o array numbers[]
a um único valor sum
, somando todos os elementos do array.
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, number) => acc + number, 0);
console.log(sum); // 15
8.5 Método some()
O método some()
verifica se pelo menos um elemento do array satisfaz a condição especificada na
função fornecida. Retorna true
ou false
.
Sintaxe:
const result = array.some(function(element, index, array) {
// corpo da função
return condição;
});
A função de verificação também pode ser escrita como uma arrow function:
const result = array.some((element, index, array) => condição);
Exemplo:
O método some()
verifica se há pelo menos um número par no array numbers[]
, e retorna true
.
const numbers = [1, 2, 3, 4, 5];
const hasEvenNumber = numbers.some(number => number % 2 === 0);
console.log(hasEvenNumber); // true
8.6 Método every()
O método every()
verifica se todos os elementos do array satisfazem a condição especificada na função fornecida. Retorna true
ou false
.
Sintaxe:
const result = array.every(function(element, index, array) {
// corpo da função
return condição;
});
A função de verificação também pode ser escrita como uma arrow function:
const result = array.every((element, index, array) => condição);
Exemplo:
O método every()
verifica se todos os elementos do array numbers[]
são positivos, e retorna true
.
const numbers = [1, 2, 3, 4, 5];
const allPositive = numbers.every(number => number > 0);
console.log(allPositive); // true
8.7 Método find()
O método find()
retorna o primeiro elemento do array que satisfaz a condição especificada na função fornecida.
Se nenhum elemento satisfizer a condição, retorna undefined
.
Sintaxe:
const result = array.find(function(element, index, array) {
// corpo da função
return condição;
});
A função de verificação também pode ser escrita como uma arrow function:
const result = array.find((element, index, array) => condição);
Exemplo:
O método find()
retorna o primeiro número par do array numbers[]
.
const numbers = [1, 2, 3, 4, 5];
const firstEven = numbers.find(number => number % 2 === 0);
console.log(firstEven); // 2
8.8 Método findIndex()
O método findIndex()
retorna o índice do primeiro elemento do array que satisfaz a condição especificada na função fornecida.
Se nenhum elemento satisfizer a condição, retorna -1
.
Sintaxe:
const result = array.findIndex(function(element, index, array) {
// corpo da função
return condição;
});
A função de verificação também pode ser escrita como uma arrow function:
const result = array.findIndex((element, index, array) => condição);
Exemplo:
O método findIndex()
retorna o índice do primeiro número par no array numbers[]
.
const numbers = [1, 2, 3, 4, 5];
const firstEvenIndex = numbers.findIndex(number => number % 2 === 0);
console.log(firstEvenIndex); // 1
GO TO FULL VERSION