Skip to content

forOwn

INFO

出于兼容性原因,此函数仅在 es-toolkit/compat 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。

es-toolkit/compat 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 这里

遍历对象的属性并为每个属性调用 iteratee 函数。

它只遍历对象自身的属性,不包括继承的属性或带有 Symbol 键的属性。

iteratee 函数可以通过返回 false 提前结束遍历。

签名

typescript
function forOwn<T>(
  object: T | null | undefined,
  iteratee?: (value: T[keyof T], key: string, collection: T) => any
): T | null | undefined;

参数

  • object (T | null | undefined): 要遍历的对象。
  • iteratee ((value: T[keyof T], key: string, collection: T) => any): 每次迭代调用的函数。如果未提供,将使用身份函数。

返回值

(T | null | undefined): 返回对象。

示例

typescript
function Foo() {
  this.a = 1;
  this.b = 2;
}

Foo.prototype.c = 3;

forOwn(new Foo(), function (value, key) {
  console.log(key);
});
// => Logs 'a' then 'b' (iteration order is not guaranteed).

采用 MIT 许可证发布。