技术文摘
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 代码片段,希望对您的开发工作有所帮助。在后续的内容中,我们还将为您带来更多精彩实用的代码片段。
- Vue.js 中组件 v-on:change 事件仅触发一次如何解决
- 解决自定义UI元素中CSS伪类与Canvas层级问题的方法
- 本地主机是什么及对开发人员的用途
- 怎样在不影响布局的情况下隐藏 CSS 右侧面板内容
- CSS 怎样选取特定 class 的孙子元素并排除最后一个
- CSS sticky 定位怎样穿透多个层级
- ElementUI 菜单栏下划线去除方法
- ECharts中如何让标记线(markLine)始终显示,即便数据明显低于上限
- Textarea输入框点击后颜色和粗度不变问题的解决方法
- Vue Select 中 v-on:change 事件仅执行一次该如何解决
- Sass中占位符选择器%有何作用
- Document.Content Download Time过长原因与优化对策
- 消除Vue中元素相对定位后多余留白的方法
- CSS动画实现突变效果的方法
- CSS动画中元素从30%到100%再循环回30%如何实现平滑过渡