13af6ab5fSopenharmony_ci#  ``for .. in`` is not supported
23af6ab5fSopenharmony_ci
33af6ab5fSopenharmony_ciRule ``arkts-no-for-in``
43af6ab5fSopenharmony_ci
53af6ab5fSopenharmony_ci**Severity: error**
63af6ab5fSopenharmony_ci
73af6ab5fSopenharmony_ciArkTS does not support the iteration over object contents by the
83af6ab5fSopenharmony_ci``for .. in`` loop. For objects, iteration over properties at runtime is
93af6ab5fSopenharmony_ciconsidered redundant because object layout is known at compile time, and
103af6ab5fSopenharmony_cicannot change at runtime. For arrays, iterate with the regular ``for`` loop.
113af6ab5fSopenharmony_ci
123af6ab5fSopenharmony_ci
133af6ab5fSopenharmony_ci## TypeScript
143af6ab5fSopenharmony_ci
153af6ab5fSopenharmony_ci
163af6ab5fSopenharmony_ci```
173af6ab5fSopenharmony_ci
183af6ab5fSopenharmony_ci    let a: number[] = [1.0, 2.0, 3.0]
193af6ab5fSopenharmony_ci    for (let i in a) {
203af6ab5fSopenharmony_ci        console.log(a[i])
213af6ab5fSopenharmony_ci    }
223af6ab5fSopenharmony_ci
233af6ab5fSopenharmony_ci```
243af6ab5fSopenharmony_ci
253af6ab5fSopenharmony_ci## ArkTS
263af6ab5fSopenharmony_ci
273af6ab5fSopenharmony_ci
283af6ab5fSopenharmony_ci```
293af6ab5fSopenharmony_ci
303af6ab5fSopenharmony_ci    let a: number[] = [1.0, 2.0, 3.0]
313af6ab5fSopenharmony_ci    for (let i = 0; i < a.length; ++i) {
323af6ab5fSopenharmony_ci        console.log(a[i])
333af6ab5fSopenharmony_ci    }
343af6ab5fSopenharmony_ci
353af6ab5fSopenharmony_ci```
363af6ab5fSopenharmony_ci
373af6ab5fSopenharmony_ci## See also
383af6ab5fSopenharmony_ci
393af6ab5fSopenharmony_ci- Recipe 082:  ``for-of`` is supported only for arrays, strings, sets, maps and classes derived from them (``arkts-for-of-str-arr``)
403af6ab5fSopenharmony_ci
413af6ab5fSopenharmony_ci
42