技术文摘
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 代码片段,希望对您的开发工作有所帮助。在后续的内容中,我们还将为您带来更多精彩实用的代码片段。
- Oracle 中 EXISTS 关键字的简单使用示例
- MySQL 8.0 配置文件 my.ini 详细解析
- Windows 系统中 Oracle 11g 完整安装指南
- 解决 Oracle SQL 报错:ORA-06550 的办法
- Redis 并发中跳表的实现
- Redis 热 key 与大 key 问题的发现及解决之道
- Redis 集群密码热更新无需重启的流程步骤
- 缓存 DB Redis Local 的抉择分析
- MS SQL Server中利用STUFF实现统计记录行转列显示
- Redis 高可用 Sentinel 详细解析
- Redis 投票功能的实现之道
- Redis 内存节省的十种技巧分享
- Ubuntu 14.04 系统中 Redis 数据备份与恢复的详细步骤
- 轻松搞懂 Redis 中的慢查询日志与监视器
- Redis 常用的 5 大数据类型