for each...in

To tłumaczenie jest niepełne. Pomóż przetłumaczyć ten artykuł z języka angielskiego

Wyrażenie for each...in  jest przestarzałe jako część standardu ECMA-357 (E4X), gdyż E4X nie jest już wspierany. Zamiast tego, rozważ użycie wyrażenia for...of.

Firefox obecnie ostrzega przed użyciem for each...in i wyrażenie to nie będzie działało od wersji Firefox 57.
Zobacz Warning: JavaScript 1.6's for-each-in loops are deprecated dla pomocy przy migracji do nowego standardu.

Wyrażenie for each...in iteruje daną zmienną po wszystkich wartościach własności obiektu (ang. object's properties). Podane wyrażenie jest wykonywane dla każdej oddzielnej własności.

Składnia

for each (zmienna in obiekt) {
  polecenie
}
zmienna
Zmienna do iteracji po wartościach własnośic, opcjonalnie deklarowana ze słowem kluczowym var. Zmienna jest lokalna dla funkcji, a nie pętli.
obiekt
Obiekt, po którego własnościach iterujemy.
polecenie
Polecenie do wykonania dla każdej własności. Do wykonania wielu poleceń należy użyć wyrażenia block ({ ... }), w celu zgrupowania tychże poleceń.

Opis

Niektóre z wbudowanych własności nie są iterowalne – do tej grupy zaliczają się wszystkie wbudowane metody obiektów, jak na przykład metoda indexOf obiektów klasy String. Możliwe jest jednakże iterowanie po wszystkich własnościach zdefiniowanych przez użytkownika.

Przykłady

Użycie for each...in

Ostrzeżenie: Nigdy nie używaj takich pętli na tablicach. Wykorzystuj to tylko na obiektach. Po więcej szczegółów, przeczytaj opis wyrażenia for...in.

Następujący fragment kodu iteruje po własnościach obiektu, obliczając ich sumę:

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

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

console.log(sum); // logs "26", which is 5+13+8

Specyfikacje

To wyrażenie nie jest częścią aktualnej specyfikacji ECMA-262 specification. Zaimlementowane w JavaScript 1.6 i obecnie przestarzałe.

Wsparcie przeglądarek

No compatibility data found. Please contribute data for "javascript.statements.for_each_in" (depth: 1) to the MDN compatibility data repository.

Zobacz też

  • for...in – podobne wyrażenie, iterujące po nazwach własności;
  • for...of – podobne wyrażenie, iterujące po wartościach własności, którego można jednak używać dla typów iterowalnych, a więc nie dla obiektówgenerycznych;
  • for.