技术文摘
八个工程必用的 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 项目 八个工程
- 2024 年 React 生态系统概览
- 截至目前,这些项目已由 Rust 重写
- 人工智能体(AI Agent)在人工智能和大语言模型(LLM)中究竟是什么?
- 优化 Docker 镜像层管理以提升构建速度与降低磁盘占用
- 前任开发代码留隐患,支付下单未设幂等
- C++中方差的运算:求解与增量计算
- 基于 C++ 的 HashMap 结构构建多 DLL 注入器
- 2023 年顶级前端工具,你用过几种?
- 15 分钟弄懂 Express.js,全栈不再艰难
- 深度解读 PyPy :探寻 Python 超越 C 速度的关键
- 六个 Python 内存优化技巧提升代码效率
- Python 中 fractions 模块的作用究竟是什么?
- Go 构建高效二叉搜索树联系簿
- Swift 中函数、可选参数、可变参数与函数类型的定义方法
- Docker 与 Docker Compose 入门:挖掘应用部署潜能