Files
kiss-translator/src/libs/utils.js
2023-08-16 22:13:07 +08:00

54 lines
947 B
JavaScript

/**
* 限制数字大小
* @param {*} num
* @param {*} min
* @param {*} max
* @returns
*/
export const limitNumber = (num, min = 0, max = 100) => {
const number = parseInt(num);
if (Number.isNaN(number) || number < min) {
return min;
} else if (number > max) {
return max;
}
return number;
};
/**
* 匹配是否为数组中的值
* @param {*} arr
* @param {*} val
* @returns
*/
export const matchValue = (arr, val) => {
if (arr.length === 0 || arr.includes(val)) {
return val;
}
return arr[0];
};
/**
* 等待
* @param {*} delay
* @returns
*/
export const sleep = (delay) =>
new Promise((resolve) => setTimeout(resolve, delay));
/**
* 防抖函数
* @param {*} func
* @param {*} delay
* @returns
*/
export const debounce = (func, delay = 200) => {
let timer;
return (...args) => {
timer && clearTimeout(timer);
timer = setTimeout(() => {
func(...args);
}, delay);
};
};