技术文摘
16 个日常开发必用的 JavaScript 代码片段
2024-12-30 16:19:18 小编
16 个日常开发必用的 JavaScript 代码片段
在 JavaScript 开发中,掌握一些实用的代码片段可以极大地提高开发效率。以下是 16 个在日常开发中经常会用到的 JavaScript 代码片段。
- 数组去重
function uniqueArray(arr) {
return Array.from(new Set(arr));
}
- 数组扁平化
function flattenArray(arr) {
return arr.flat(Infinity);
}
- 对象属性拷贝
function copyObject(obj) {
return {...obj };
}
- 生成随机字符串
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;
}
- 字符串首字母大写
function capitalizeFirstLetter(str) {
return str.charAt(0).toUpperCase() + str.slice(1);
}
- 判断数据类型
function getType(obj) {
return Object.prototype.toString.call(obj).slice(8, -1);
}
- 深拷贝对象
function deepCopy(obj) {
if (typeof obj!== 'object' || obj === null) {
return obj;
}
let newObj;
if (Array.isArray(obj)) {
newObj = [];
} else {
newObj = {};
}
for (const key in obj) {
newObj[key] = deepCopy(obj[key]);
}
return newObj;
}
- 数组求和
function sumArray(arr) {
return arr.reduce((a, b) => a + b, 0);
}
- 数组排序
function sortArray(arr) {
return arr.sort((a, b) => a - b);
}
- 防抖函数
function debounce(func, delay) {
let timer;
return function (...args) {
clearTimeout(timer);
timer = setTimeout(() => {
func.apply(this, args);
}, delay);
};
}
- 节流函数
function throttle(func, delay) {
let lastCallTime = 0;
return function (...args) {
const now = Date.now();
if (now - lastCallTime >= delay) {
func.apply(this, args);
lastCallTime = now;
}
};
}
- 字符串反转
function reverseString(str) {
return str.split('').reverse().join('');
}
- 获取 URL 参数
function getUrlParams(url) {
const params = new URLSearchParams(new URL(url).search);
const result = {};
for (const [key, value] of params) {
result[key] = value;
}
return result;
}
- 计算字符串出现次数
function countString(str, target) {
return str.split(target).length - 1;
}
- 异步加载脚本
function loadScript(url, callback) {
const script = document.createElement('script');
script.src = url;
script.onload = callback;
document.head.appendChild(script);
}
- 检测元素是否在视口内
function isElementInViewport(el) {
const rect = el.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document.documentElement.clientWidth)
);
}
掌握这些代码片段,将使您在 JavaScript 开发中更加得心应手,提高代码质量和开发效率。
TAGS: JavaScript 开发 JavaScript 代码 JavaScript 日常 JavaScript 必用
- Ubuntu 系统中 shotwell 软件简易编辑照片教程
- CentOS 中初识日志式文件系统(ext3)的详细解析
- Centos 环境变量的安全设置问题
- CentOS 系统中时间相关命令的详细解析
- Ubuntu 系统中 ifort 编译器的安装方法
- Ubuntu 中安装 Visual Studio Code 的详细步骤
- Centos 6.5 安装时包组安装建议全解析
- CentOS 常用文本查看命令深度解析
- 双系统重装 Windows 后 Ubuntu 引导丢失如何解决
- Centos7 SSH 密钥登录与密码密钥双重验证全解
- CentOS 查找与扫描局域网打印机 IP 详解
- 如何在 Ubuntu 中创建支持 Windows 访问的共享文件夹
- CentOS 中双网卡主备模式配置全面解析
- Centos 系统在虚拟机中的分辨率修改方法
- CentOS7 系统安装 KDE 后中文语言显示的修改办法