Os métodos de iteração de matriz operam em todos os itens da matriz.

Array.forEach ()

O método forEach() chama uma função (uma função de retorno de chamada) uma vez para cada elemento da matriz.

var txt = "";
var numeros = [45, 4, 9, 16, 25];
numeros.forEach(
   function(value, index, array) {
     txt = txt + value + "<br>";
   });

A função usa 3 argumentos: o valor do item, o índice do item e a própria matriz.

O exemplo acima usa apenas o parâmetro value. O exemplo pode ser reescrito para:

var txt = "";
var numeros = [45, 4, 9, 16, 25];
numeros.forEach(
   function(value) {
      txt = txt + value + "<br>";
   });

Array.map ()

O método map() cria uma nova matriz executando uma função em cada elemento da matriz, não executa a função para elementos da matriz sem valores e não altera a matriz original.

Este exemplo multiplica cada valor da matriz por 2:

var numeros = [45, 4, 9, 16, 25];
var numbers2 = numeros.map(minhaFuncao);
function minhaFuncao(value, index, array) {
  return value * 2;
}

A função usa 3 argumentos: o valor do item, o índice do item e a própria matriz.

Quando uma função de retorno de chamada usa apenas o parâmetro value, os parâmetros index e array podem ser omitidos:

var numeros = [45, 4, 9, 16, 25];
var numbers2 = numeros.map(minhaFuncao);
function minhaFuncao(value) {
  return value * 2;
}

Array.filter ()

O método filter() cria uma nova matriz com elementos da matriz que passam no teste.

Este exemplo a seguir cria uma nova matriz a partir de elementos com um valor maior que 18.

var numeros = [45, 4, 9, 16, 25];
var over18 = numeros.filter(
   function(value, index, array) {
      return value > 18;
   }

A função usa 3 argumentos: o valor do item, o índice do item e a própria matriz

No exemplo acima, a função de retorno de chamada não usa os parâmetros de índice e matriz, portanto, eles podem ser omitidos.

var numeros = [45, 4, 9, 16, 25];
var acima18 = numeros.filter(
   function(valor){
      return valor > 18;
   }); // acima18 = [45,25];

Array.reduce ()

O método reduce() executa uma função em cada elemento da matriz para produzir (reduzi-lo para) um único valor, funciona da esquerda para a direita na matriz (veja reduceRight()) e não reduz a matriz original.

Este exemplo encontra a soma de todos os números em uma matriz:

var numeros = [45, 4, 9, 16, 25];
var sum = numeros.reduce(
   function(total, valor, indice, matriz){
      return total + valor;
   });

A função recebe 4 argumentos: o total (o valor inicial / valor retornado anteriormente), o valor do item, o índice do item e a própria matriz.

O exemplo acima não usa os parâmetros de índice e matriz. Pode ser reescrito para: 

var numeros = [45, 4, 9, 16, 25];
var sum = numeros.reduce(
   function(total, valor) {
     return total + valor;
   });

O método reduce() pode aceitar um valor inicial:

var numeros = [45, 4, 9, 16, 25];
var sum = numeros.reduce(
   function(total, value) {
      return total + value;
   },100);

Array.reduceRight ()

O método reduceRight() executa uma função em cada elemento da matriz para produzir (reduzi-lo para) um único valor. trabalha da direita para a esquerda na matriz (Veja reduce())  e não reduz a matriz original.

Este exemplo encontra a soma de todos os números em uma matriz:

var numeros = [45, 4, 9, 16, 25];
var sum = numeros.reduceRight(minhaFuncao);
function minhaFuncao(total, value, index, array) {
  return total + value;
}

A função recebe 4 argumentos: o total (o valor inicial / valor retornado anteriormente), o valor do item, o índice do item e a própria matriz.

O exemplo acima não usa os parâmetros de índice e matriz. Pode ser reescrito para:

var numeros = [45, 4, 9, 16, 25];
var sum = numeros.reduceRight(minhaFuncao);
function minhaFuncao(total, value) {
  return total + value;
}

Array.every ()

O método every() verifica se todos os valores da matriz são aprovados em um teste.

Este exemplo verifica se todos os valores da matriz são maiores que 18:

var numeros = [45, 4, 9, 16, 25];
var allOver18 = numeros.every(minhaFuncao);
function minhaFuncao(value, index, array) {
  return value > 18;
}

A função usa 3 argumentos: o valor do item, o índice do item e a própria matriz.

Quando uma função de retorno de chamada usa apenas o primeiro parâmetro (valor), os outros parâmetros podem ser omitidos:

var numeros = [45, 4, 9, 16, 25];
var allOver18 = numeros.every(minhaFuncao);
function minhaFuncao(value) {
  return value > 18;
}

Array.some ()

O método some() verifica se alguns valores da matriz passam em um teste.

Este exemplo verifica se alguns valores de matriz são maiores que 18:

var numeros = [45, 4, 9, 16, 25];
var algunAcima18 = numeros.some(minhaFuncao);
function minhaFuncao(value, index, array) {
  return value > 18;
}

Array.indexOf ()

O método indexOf() procura um valor de elemento em uma matriz e retorna sua posição.

Nota: O primeiro item tem a posição 0, o segundo item tem a posição 1 e assim por diante.

Procure uma matriz para o item "Maçã":

var frutas = ["Maçã", "Laranja", "Maçã", "Manga"];
var a = frutas.indexOf("Maçã");

Sintaxe:

array.indexOf(item, start)

item

Requerido. O item a ser pesquisado.

inicio

Opcional. Por onde começar a pesquisa. Valores negativos começarão em uma determinada posição contando de o final e serão pesquisados até o fim.

Array.indexOf() retorna -1 se o item não for encontrado.

Se o item estiver presente mais de uma vez, ele retornará a posição da primeira ocorrência.

Array.lastIndexOf ()

O método Array.lastIndexOf() é o mesmo que Array.indexOf(), mas retorna a posição da última ocorrência do elemento especificado.

Procure uma matriz para o item "Maçã":

 

var frutas = ["Maçã", "Laranja", "Maçã", "Manga"];
var a = frutas.lastIndexOf("Maçã");

Sintaxe

array.lastIndexOf(item, inicio)

item

Requerido. O item a ser pesquisado

inicio

Opcional. Por onde começar a pesquisa. Valores negativos começarão na posição dada, contando do final, e pesquisarão até o início

Array.find ()

O método find() retorna o valor do primeiro elemento da matriz que passa em uma função de teste.

Este exemplo localiza (retorna o valor de) o primeiro elemento maior que 18:

var numeros = [4, 9, 16, 25, 29];
var primeiro = numeros.find(
   function(value, index, array) {
     return value > 18;
   });

A função usa 3 argumentos: o valor do item, o índice do item e a própria matriz

Array.findIndex ()

O método findIndex() retorna o índice do primeiro elemento da matriz que passa em uma função de teste.

Este exemplo localiza o índice do primeiro elemento maior que 18:

var numeros = [4, 9, 16, 25, 29];
var primeiro = numeros.findIndex(
   function(value, index, array) {
      return value > 18;
   }

A função usa 3 argumentos: o valor do item, o índice do item e a própria matriz.