for each...in

Esta tradução está incompleta. Ajude atraduzir este artigo.

A declaração for each...in está obsoleta como parte do padrão ECMA-357 (E4X). O suporte E4X foi removido, mas o for each...in não será desativado e removido por questões de compatibilidade que precisam ser consideradas.  Ao invés disso, procure utilizar for...of. (Por favor, referir-se a bug 791343.)

A declaração for each...in repete uma variável especifica sobre todos os valores das propriedades do objeto. Para cada propriedade distinta, uma declaração específica é executada.

Sintaxe

for each (variable in object) {
  statement
}
variável
Variável que itera sobre o valor da propriedade, opcionalmente declarado com a palavra-chave var. Essa variável é local à função, não ao loop.
objeto
Objeto ao qual as propriedades são iteradas.
declaração
Uma declaração a ser executada para cada propriedade. Para executar múltiplas declaração dentro do loop, utilize um bloco de declaração ({ ... }) para agrupar estas declarações.

Descrição

Algumas propriedades internas não são iterada. Isso inclui todos os métodos internos dos objetos, ex. o método String's indexOf . No entanto, todas propriedades definidas pelo usuários são iteradas.

Exemplos

Usando for each...in

Atenção: Nunca utiliza um loop assim com arrays. Apenas utilize em objetos. Veja for...in para mais detalhes.

O seguinte código itera sobre as propriedades do objeto, calculando sua soma:

var sum = 0;
var obj = {prop1: 5, prop2: 13, prop3: 8};

for each (var item in obj) {
  sum += item;
}

console.log(sum); // escreve no log "26", que é 5+13+8

Especifições

Não parte da atual especificação ECMA-262. Implementado no JavaScript 1.6 e obsoleto.

Compatibilidade de Browsers

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support Não suportado 1.5 (1.8) Não suportado Não suportado Não suportado
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support Não suportado Não suportado 1.0 (1.0) Não suportado Não suportado Não suportado

Veja também

  • for...in - uma declaração similar que itera sobre a propriedade names.
  • for...of - uma declaração similar que itera sobre os valores da propriedade mas pode ser utilizado para iterar tipos, então para para objetos genéricos.
  • for

Etiquetas do documento e colaboradores

 Colaboradores desta página: michaelycus, ffabiorj
 Última atualização por: michaelycus,