Unfiltered for..in loop
Reports unfiltered for-in loops.
The use of this construct results in processing not only own properties of an object but properties from its prototype as well. It may be unexpected in some specific cases, for example, in utility methods that copy or modify all properties or when Object's prototype may be incorrectly modified. For example, the following code will print 42 and myMethod:
Locating this inspection
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
JSUnfilteredForInLoop- Via Settings dialog
Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.
Inspection ID: JSUnfilteredForInLoop
Inspection options
Here you can find the description of settings available for the Unfiltered for..in loop inspection, and the reference of their default values.
- Skip iterations over reference with array or object initializer
Option ID:
mySkipPrimitivesDefault value:
Selected
Suppressing Inspection
You can suppress this inspection by placing the following comment marker before the code fragment where you no longer want messages from this inspection to appear:
More detailed instructions as well as other ways and options that you have can be found in the product documentation:
Inspection Details | |
|---|---|
By default bundled with: | CLion 2026.1, GoLand 2026.1, IntelliJ IDEA 2026.1, JetBrains Rider 2025.3, PhpStorm 2026.1, PyCharm 2026.1, Qodana for .NET 2025.3, Qodana for Go 2026.1, Qodana for JS 2026.1, Qodana for JVM 2026.1, Qodana for PHP 2026.1, Qodana for Ruby 2026.1, RubyMine 2026.1, WebStorm 2026.1 |