技术文摘
七个项目必备的 JavaScript 代码片段
2024-12-31 04:40:42 小编
七个项目必备的 JavaScript 代码片段
在 JavaScript 开发中,掌握一些常用且高效的代码片段可以极大地提高项目的开发效率和质量。以下是七个在项目中必备的 JavaScript 代码片段。
1. 数组去重
function uniqueArray(arr) {
return Array.from(new Set(arr));
}
2. 深拷贝对象
function deepClone(obj) {
if (typeof obj!== 'object' || obj === null) {
return obj;
}
let newObj = Array.isArray(obj)? [] : {};
for (let key in obj) {
newObj[key] = deepClone(obj[key]);
}
return newObj;
}
3. 防抖函数
function debounce(func, delay) {
let timer;
return function (...args) {
clearTimeout(timer);
timer = setTimeout(() => {
func.apply(this, args);
}, delay);
};
}
4. 节流函数
function throttle(func, delay) {
let prev = 0;
return function (...args) {
let now = Date.now();
if (now - prev > delay) {
func.apply(this, args);
prev = now;
}
};
}
5. 格式化日期
function formatDate(date, format) {
const o = {
'M+': date.getMonth() + 1,
'd+': date.getDate(),
'h+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds()
};
for (let k in o) {
if (new RegExp(`(${k})`).test(format)) {
let str = o[k] + '';
format = format.replace(RegExp.$1, (RegExp.$1.length === 1)? str : padLeftZero(str));
}
}
return format;
}
function padLeftZero(str) {
return ('00' + str).slice(-2);
}
6. 字符串驼峰转下划线
function camelToUnderline(str) {
return str.replace(/([A-Z])/g, '_$1').toLowerCase();
}
7. 数组排序
function sortArray(arr, key, order = 'asc') {
return arr.sort((a, b) => {
if (order === 'asc') {
return a[key] - b[key];
} else {
return b[key] - a[key];
}
});
}
这些 JavaScript 代码片段在各种项目中都非常实用,能够帮助开发者更高效地解决常见问题,提升代码的可读性和可维护性。熟练掌握并合理运用它们,将为您的项目开发带来很大的便利。
TAGS: 项目开发 必备技能 JavaScript 代码片段 七个项目
- DevSecOps 失败的 7 种常见诱因
- JavaScript 两种开源代码库 ReactJS 与 AngularJS 综合比较
- Spring Boot Security 防止重复登录与在线总数控制
- 200 行 Python 代码助您掌握基本音乐理论
- 手机自动化测试 IDE:Airtest 模拟器连接手机教程
- ASP.NET Core 服务生命周期一图明晰
- 通过 AJAX 获取 Django 后端数据
- 在 Go 中使用 Iota 的必要性探究
- Java 工程师进阶之 Kafka 篇
- Java 基础入门:Runtime 类与文档注释
- Facebook 推出全新 VR 虚拟形象定制系统 捏脸精致且增手势追踪
- Vue 服务端渲染的原理与入门
- .NET Core 中 gRPC 服务消息文件(Proto)的设计方法
- 六年工作经历后对软件开发的新见解
- 漫话:为女友解释 Java 中“1000==1000”为 false 而“100==100”为 true 的原因