技术文摘
八个工程必用的 JavaScript 代码片段(推荐加入项目)
2024-12-31 04:06:08 小编
八个工程必用的 JavaScript 代码片段(推荐加入项目)
在 JavaScript 开发中,有一些代码片段是在各种工程项目中经常会用到的。它们不仅能提高开发效率,还能优化代码质量。以下为您介绍八个这样的实用代码片段。
- 数组去重
function uniqueArray(arr) {
return Array.from(new Set(arr));
}
这个函数可以轻松去除数组中的重复元素。
- 深拷贝对象
function deepCopy(obj) {
return JSON.parse(JSON.stringify(obj));
}
确保在复制对象时,不会因为引用而导致意外的修改。
- 防抖函数
function debounce(func, delay) {
let timer;
return function(...args) {
clearTimeout(timer);
timer = setTimeout(() => {
func.apply(this, args);
}, delay);
};
}
用于限制频繁触发的函数,避免不必要的计算。
- 节流函数
function throttle(func, delay) {
let lastExecuted = 0;
return function(...args) {
const now = new Date().getTime();
if (now - lastExecuted >= delay) {
func.apply(this, args);
lastExecuted = now;
}
};
}
控制函数在一定时间内的执行频率。
- 格式化日期
function formatDate(date, format) {
const map = {
"yyyy": date.getFullYear(),
"MM": (date.getMonth() + 1).toString().padStart(2, '0'),
"dd": date.getDate().toString().padStart(2, '0'),
"HH": date.getHours().toString().padStart(2, '0'),
"mm": date.getMinutes().toString().padStart(2, '0'),
"ss": date.getSeconds().toString().padStart(2, '0')
};
return format.replace(/(yyyy|MM|dd|HH|mm|ss)/g, matched => map[matched]);
}
方便根据特定格式输出日期字符串。
- 随机字符串生成
function generateRandomString(length) {
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
let result = '';
for (let i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * characters.length));
}
return result;
}
在需要随机字符串的场景中非常有用。
- 数据类型判断
function typeOf(obj) {
return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();
}
准确判断数据的类型。
- 字符串驼峰转下划线
function camelToSnake(str) {
return str.replace(/([A-Z])/g, '_$1').toLowerCase();
}
将这些实用的 JavaScript 代码片段加入您的工程项目中,能够让您的开发更加高效和便捷,提升代码的质量和可维护性。
TAGS: 项目推荐 JavaScript 代码片段 JavaScript 项目 八个工程
- 多运行时的微服务架构实践探索
- Spring Boot 实现邮件与附件发送 实用指南
- 新计算机技能需求排名:Python 位居第 3,第 1 令人意外
- 谷歌量子计算风云突变:关键人物 John Martinis 辞职
- Spring Cloud 微服务架构的详细剖析
- 高德纳表示《编程艺术》完结时间不定
- JavaScript 中发出 HTTP 请求的多种方法大对决
- REST API 设计中参数与查询的优秀实践
- 2020 年 DevOps 自动化的六种变化方式
- 实体类属性映射不可或缺之物
- 清华大学自动化系 2020 C++大作业成热门话题 网友:可直接入职 BAT
- Python 函数式编程教程:一行代码解决一切
- 企业微服务架构设计与实施的六大难点深度剖析实战分享
- 拜托,别再提及贪心算法!
- 突破 Decoder 性能瓶颈之道:FasterTransformer 原理及应用揭秘