欢迎访问宙启技术站
智能推送

简单实用的common.utils工具函数合集

发布时间:2023-12-25 11:41:02

common.utils 是一个常用的工具函数合集,提供了一些简单实用的函数,可以方便地在项目中使用。下面是一些常见的工具函数以及其使用例子。

1. isEmpty(obj): 判断一个对象是否为空,如果对象是 null、undefined、空字符串或空数组,返回 true,否则返回 false。

import { isEmpty } from 'common.utils';

console.log(isEmpty(null)); // true
console.log(isEmpty(undefined)); // true
console.log(isEmpty('')); // true
console.log(isEmpty([])); // true
console.log(isEmpty({})); // false

const obj = { name: 'John' };
console.log(isEmpty(obj)); // false

2. isNotEmpty(obj): 与 isEmpty(obj) 相反,判断一个对象是否不为空。

import { isNotEmpty } from 'common.utils';

console.log(isNotEmpty(null)); // false
console.log(isNotEmpty(undefined)); // false
console.log(isNotEmpty('')); // false
console.log(isNotEmpty([])); // false
console.log(isNotEmpty({})); // true

const obj = { name: 'John' };
console.log(isNotEmpty(obj)); // true

3. deepClone(obj): 深拷贝一个对象,返回拷贝后的新对象。

import { deepClone } from 'common.utils';

const obj = { name: 'John', age: 25 };
const cloneObj = deepClone(obj);

console.log(cloneObj); // { name: 'John', age: 25 }
console.log(cloneObj === obj); // false

4. formatTime(time, format): 格式化时间,返回按照指定格式格式化后的时间字符串。

import { formatTime } from 'common.utils';

const time = new Date('2021-01-01T12:00:00Z');

console.log(formatTime(time, 'YYYY-MM-DD')); // 2021-01-01
console.log(formatTime(time, 'HH:mm:ss')); // 12:00:00
console.log(formatTime(time, 'YYYY-MM-DD HH:mm:ss')); // 2021-01-01 12:00:00

5. debounce(func, delay): 防抖函数,延迟执行一个函数,如果在延迟期间内再次触发,重新计时。

import { debounce } from 'common.utils';

function handleInput(e) {
  console.log(e.target.value);
}

const debouncedInput = debounce(handleInput, 300);

document.getElementById('input').addEventListener('input', debouncedInput);

6. throttle(func, delay): 节流函数,限制一个函数在一定时间内只能执行一次。

import { throttle } from 'common.utils';

function handleScroll() {
  console.log(window.scrollY);
}

const throttledScroll = throttle(handleScroll, 300);

window.addEventListener('scroll', throttledScroll);

这只是 common.utils 提供的一些常用工具函数的例子,还有更多其他的函数可以在项目中使用。在开发中,可以根据需求不断扩展和优化这个工具函数合集,以方便自己和其他开发人员使用。