54 lines
947 B
JavaScript
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);
|
|
};
|
|
};
|