Files
iot-device-management-frontend/apps/web-ele/src/utils/index.ts

31 lines
721 B
TypeScript
Raw Normal View History

2025-10-30 16:33:33 +08:00
import type { Recordable } from '@vben/types';
export * from './rangePickerProps';
export * from './routerHelper';
2025-10-30 16:33:33 +08:00
/**
*
* @param {Array} ary
* @param {Function} fn
*/
type Fn<T = any> = (item: T, index: number, array: Array<T>) => boolean;
export const findIndex = <T = Recordable<any>>(
ary: Array<T>,
fn: Fn<T>,
): number => {
if (ary.findIndex) {
return ary.findIndex((item, index, array) => fn(item, index, array));
}
let index = -1;
ary.some((item: T, i: number, ary: Array<T>) => {
const ret: boolean = fn(item, i, ary);
if (ret) {
index = i;
return true;
}
return false;
});
return index;
};