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 |