Skip to main content

forOwn()

forOwn<T>(object, iteratee): void

Iterates over own enumerable string keyed properties of an object.

DEPRECATED

Use Object.keys().forEach() or Object.entries().forEach() 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โ€‹

Object.keys() - MDN 2.0.0


Also known asโ€‹

forEachObj (Remeda) ยท forOwn (Lodash, es-toolkit) ยท โŒ (Radashi, Ramda, Effect, Modern Dash, Antfu)


Exampleโ€‹

// โŒ Deprecated approach
forOwn({ a: 1, b: 2 }, (value, key) => console.log(key, value));

// โœ… Recommended approach
Object.entries({ a: 1, b: 2 }).forEach(([key, value]) => {
console.log(key, value);
});

How it works?โ€‹

Iterates over own enumerable properties. Deprecated: Use Object.entries() with forEach.

Native Equivalentโ€‹

// โŒ forOwn(obj, fn)
// โœ… Object.entries(obj).forEach(([k, v]) => fn(v, k, obj))

Use Casesโ€‹

Iterate object properties ๐Ÿ“Œโ€‹

Iterate over own enumerable properties.

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

Transform valuesโ€‹

Process each property value.

const result: Record<string, number> = {};
Object.entries(prices).forEach(([key, value]) => {
result[key] = value * 1.1; // Add 10%
});