JavaScript常用工具函数大全
本文将收集整理一些常用的 JavaScript 工具函数,旨在帮助开发者在日常工作中更加高效地编写代码。
1. 数组相关函数
1.1 isArray()
判断一个值是否是数组。
function isArray(value) {
return Array.isArray(value);
}
示例:
isArray([]); //true
isArray({}); //false
1.2 flatten()
将嵌套的数组打平成一维数组。
function flatten(arr, result = []) {
arr.forEach(item => {
if(Array.isArray(item)) {
flatten(item, result);
}else{
result.push(item);
}
});
return result;
}
示例:
flatten([1, 2, [3, 4], [5, 6, [7, 8]]]); //[1, 2, 3, 4, 5, 6, 7, 8]
2. 字符串相关函数
2.1 capitalize()
将字符串首字母大写。
function capitalize(str) {
return str.charAt(0).toUpperCase() + str.slice(1);
}
示例:
capitalize('hello world'); //'Hello world'
2.2 toCamelCase()
将横杠或下划线连接的字符串转换为驼峰式。
function toCamelCase(str) {
return str.replace(/[-_](.)/g, (_, c) => {
return c.toUpperCase();
});
}
示例:
toCamelCase('my-name-is-john'); //'myNameIsJohn'
3. 时间日期相关函数
3.1 formatDate()
将日期对象格式化为字符串。
function formatDate(d, format) {
const padZero = (num) => String(num).padStart(2, '0');
const year = d.getFullYear();
const month = padZero(d.getMonth() + 1);
const date = padZero(d.getDate());
const hours = padZero(d.getHours());
const minutes = padZero(d.getMinutes());
const seconds = padZero(d.getSeconds());
const ms = padZero(d.getMilliseconds());
const map = {
'yyyy': year,
'MM': month,
'dd': date,
'HH': hours,
'mm': minutes,
'ss': seconds,
'SSS': ms
};
return format.replace(/yyyy|MM|dd|HH|mm|ss|SSS/g, match => map[match]);
}
示例:
const d = new Date();
formatDate(d, 'yyyy-MM-dd HH:mm:ss.SSS'); //'2022-03-11 22:44:23.377'
3.2 getTimeZone()
获取时区。
function getTimeZone() {
const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
return timeZone;
}
示例:
getTimeZone(); //'Asia/Shanghai'
4. 其他函数
4.1 throttle()
控制函数的执行频率。
function throttle(func, delay = 100) {
let timer = null;
return function(...args) {
if(timer) {
return;
}
timer = setTimeout(() => {
func.apply(this, args);
timer = null;
}, delay);
}
}
示例:
function sayHi() {
console.log('hello');
}
const throttledFn = throttle(sayHi, 5000);
throttledFn(); //'hello' 5秒后再次执行不会立即输出
结语
以上是笔者整理的一些 JavaScript 常用工具函数,希望能够对您的开发工作有所帮助。如有错误或不足之处,敬请指正。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript常用工具函数大全 - Python技术站