技术文摘
30 个实用的 JavaScript 代码片段(上)
2024-12-30 20:14:25 小编
30 个实用的 JavaScript 代码片段(上)
在 JavaScript 的世界里,掌握一些实用的代码片段可以极大地提高开发效率。以下为您介绍其中的 15 个。
1. 数组去重
function uniqueArray(arr) {
return Array.from(new Set(arr));
}
2. 数组扁平化
function flattenArray(arr) {
return arr.flat(Infinity);
}
3. 计算数组平均值
function averageOfArray(arr) {
return arr.reduce((a, b) => a + b, 0) / arr.length;
}
4. 检查对象是否为空
function isEmptyObject(obj) {
return Object.keys(obj).length === 0 && obj.constructor === Object;
}
5. 深拷贝对象
function deepCopy(obj) {
return JSON.parse(JSON.stringify(obj));
}
6. 生成随机字符串
function generateRandomString(length) {
let result = '';
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
for (let i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * characters.length));
}
return result;
}
7. 格式化货币
function formatCurrency(amount) {
return amount.toLocaleString('en-US', { style: 'currency', currency: 'USD' });
}
8. 检查数组是否包含某个元素
function containsElement(arr, element) {
return arr.includes(element);
}
9. 防抖函数
function debounce(func, delay) {
let timer;
return function (...args) {
clearTimeout(timer);
timer = setTimeout(() => {
func.apply(this, args);
}, delay);
};
}
10. 节流函数
function throttle(func, delay) {
let lastCallTime = 0;
return function (...args) {
const now = new Date().getTime();
if (now - lastCallTime >= delay) {
func.apply(this, args);
lastCallTime = now;
}
};
}
11. 字符串首字母大写
function capitalizeFirstLetter(str) {
return str.charAt(0).toUpperCase() + str.slice(1);
}
12. 获取 URL 参数
function getUrlParams(url) {
const params = new URLSearchParams(new URL(url).search);
const result = {};
for (const [key, value] of params.entries()) {
result[key] = value;
}
return result;
}
13. 滚动到页面顶部
function scrollToTop() {
window.scrollTo(0, 0);
}
14. 检测浏览器类型
function getBrowserType() {
const userAgent = navigator.userAgent;
if (userAgent.indexOf('Edge') > -1) {
return 'Edge';
} else if (userAgent.indexOf('Chrome') > -1) {
return 'Chrome';
} else if (userAgent.indexOf('Firefox') > -1) {
return 'Firefox';
} else if (userAgent.indexOf('Safari') > -1) {
return 'Safari';
} else {
return 'Unknown';
}
}
15. 数字千分位分隔
function formatNumberWithCommas(num) {
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
}
以上就是 15 个实用的 JavaScript 代码片段,希望对您的开发工作有所帮助。在后续的内容中,我们还将为您带来更多精彩实用的代码片段。
- Python 在实战中解析抽象语法树
- JVM 类加载的五大过程全解析(附图解)
- 可哈希对象的定义及哈希值计算方式
- 引入 JaCoCo 引发的类型转换问题探讨,你懂了吗?
- JavaScript 原型链深度解析
- API 性能提升秘籍:12 大绝招
- Mac 环境快速生成目录结构树的探讨
- 安装 NPM 包竟遭 CTO 痛斥
- 10 项成就顶尖 1%前端开发者的必备技能
- 单点登录(SSO)的实现详细解析,你掌握了吗?
- 高可用技术:跨机房部署、同城双活与异地多活的玩法探秘
- 善用 Optional ,消除空指针烦恼
- Prefect、Weave 与 RAGAS 下的 RAG 应用开发实战
- ASP.NET Core 项目中策略模式的优雅运用
- ES14 里五个极具变革的 JavaScript 特性