UNPKG

@cloudcome/utils-core

Version:
37 lines (36 loc) 1.56 kB
import { AnyObject, MaybePromise } from '../types'; /** * 遍历对象的每个键值对,并对每个键值对执行提供的回调函数。 * * @param obj - 要遍历的对象。 * @param iterator - 对每个键值对执行的回调函数。如果回调函数返回 false,则提前终止遍历。 * * @example * ```typescript * const obj = { a: 1, b: 2, c: 3 }; * const results: [string, number][] = []; * objectEach(obj, (val, key) => { * results.push([key, val]); * }); * console.log(results); // [['a', 1], ['b', 2], ['c', 3]] * ``` */ export declare function objectEach<O extends AnyObject, K extends keyof O & (string | number)>(obj: O, iterator: (this: O, val: O[K], key: K) => false | unknown): void; /** * 异步遍历对象的每个键值对,并对每个键值对执行提供的回调函数。 * * @param obj - 要遍历的对象。 * @param iterator - 对每个键值对执行的异步回调函数。如果回调函数返回 false,则提前终止遍历。 * @returns 返回一个 Promise,当所有异步操作完成后,Promise 会被 resolve。 * * @example * ```typescript * const obj = { a: 1, b: 2, c: 3 }; * const results: [string, number][] = []; * await objectEachAsync(obj, async (val, key) => { * results.push([key, val]); * }); * console.log(results); // [['a', 1], ['b', 2], ['c', 3]] * ``` */ export declare function objectEachAsync<O extends AnyObject, K extends keyof O & (string | number)>(obj: O, iterator: (this: O, val: O[K], key: K) => MaybePromise<false | unknown>): Promise<void>;