Skip to main content

forIn()

forIn<T>(object, iteratee): void

Iterates over own and inherited enumerable string keyed properties of an object.

DEPRECATED

Use for...in loop directly instead.


Type Parameters​

T: T extends object​

The type of the object.


Parameters​

object: T​

The object to iterate over.

iteratee: (value, key, object) => void​

The function invoked per iteration.


Returns: void​


Since​


See Also​

for...in - MDN 2.0.0


Also known as​

forEachObj (Remeda) · forIn (Lodash, es-toolkit) · ❌ (Radashi, Ramda, Effect, Modern Dash, Antfu)


Example​

// ❌ Deprecated approach
forIn({ a: 1, b: 2 }, (value, key) => console.log(key, value));

// βœ… Recommended approach
for (const key in { a: 1, b: 2 }) {
console.log(key, obj[key]);
}

How it works?​

Iterates over own and inherited enumerable properties. Deprecated: Use for...in loop directly.

Native Equivalent​

// ❌ forIn(obj, fn)
// βœ… for (const key in obj) fn(obj[key], key, obj)

Use Cases​

Iterate own properties πŸ“Œβ€‹

Loop over object's own properties.

for (const key of Object.keys(obj)) {
console.log(key, obj[key]);
}

Process each property​

Apply function to each property.

Object.entries(obj).forEach(([key, value]) => {
process(key, value);
});

Validate all properties​

Check each property value.

for (const [key, value] of Object.entries(config)) {
if (value === undefined) throw new Error(`Missing: ${key}`);
}