UNPKG

@mdui/jq

Version:

拥有和 jQuery 相似 API 的轻量级 JavaScript 工具库

40 lines (39 loc) 1.47 kB
import type { PlainObject } from '../shared/helper.js'; declare module '../shared/core.js' { interface JQStatic { /** * 遍历数组,原样返回第一个参数 * * @param array 需要遍历的数组 * @param callback 为数组中每个元素执行的回调函数 * * 函数的第一个参数为数组的索引,第二个参数为对应的索引的值,`this` 也指向该值 * * 函数返回 `false` 时,停止遍历 * @example ```js $.each( [ "a", "b", "c" ], function( index, value ){ alert( "Index #" + index + ": " + value ); }); ``` */ each<T>(array: ArrayLike<T>, callback: (this: T, index: number, value: T) => unknown): ArrayLike<T>; /** * 遍历对象,原样返回第一个参数 * * @param obj 需要遍历的对象 * @param callback 为对象中每个元素执行的回调函数 * * 函数的第一个参数为对象的键名,第二个参数为对应的键值,`this` 也指向该值 * * 函数返回 `false` 时,停止遍历 * @example ```js $.each({ name: "John", lang: "JS" }, function( key, value ) { alert( "Key: " + key + ", Value: " + value ); }); ``` */ each<T extends PlainObject, K extends keyof T>(obj: T, callback: (this: T[K], key: K, value: T[K]) => unknown): T; } }