首页  >  文章  >  web前端  >  最有用的 JavaScript 片段

最有用的 JavaScript 片段

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-31 21:37:29808浏览

Most Useful JavaScript Snippets

20 个最有用的 JavaScript 片段

使用这些基本片段提高您的编码效率。

1. 生成随机数

let randomNum = Math.floor(Math.random() * maxNum);

2. 检查对象是否为空

function isEmptyObject(obj) { return Object.keys(obj).length === 0; }

3. 创建倒计时器

function countdownTimer(minutes) { /* countdown logic */ }

4. 对对象数组进行排序

function sortByProperty(arr, property) { return arr.sort((a, b) => (a[property] > b[property]) ? 1 : -1); }

5. 从数组中删除重复项

let uniqueArr = [...new Set(arr)];

6. 截断字符串

function truncateString(str, num) { return str.length > num ? str.slice(0, num) + "..." : str; }

7. 将字符串转换为标题大小写

function toTitleCase(str) { return str.replace(/\b\w/g, function(txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); }); }

8. 检查数组中是否存在某个值

let isValueInArray = arr.includes(value);

9. 反转字符串

let reversedStr = str.split("").reverse().join("");

10. 从现有数组创建新数组

let newArr = oldArr.map(function(item) { return item + 1; });

11. 函数调用去抖动

function debounce(func, delay) { let timeout; return function(...args) { clearTimeout(timeout); timeout = setTimeout(() => func.apply(this, args), delay); }; }

12. 限制函数调用

function throttle(func, limit) { let lastFunc; let lastRan; return function(...args) { if (!lastRan) { func.apply(this, args); lastRan = Date.now(); } else { clearTimeout(lastFunc); lastFunc = setTimeout(function() { if ((Date.now() - lastRan) >= limit) { func.apply(this, args); lastRan = Date.now(); } }, limit - (Date.now() - lastRan)); } }; }

13. 克隆对象

const cloneObject = (obj) => ({ ...obj });

14. 合并两个对象

const mergeObjects = (obj1, obj2) => ({ ...obj1, ...obj2 });

15. 检查回文字符串

function isPalindrome(str) { const cleanedStr = str.replace(/[^A-Za-z0-9]/g, '').toLowerCase(); return cleanedStr === cleanedStr.split('').reverse().join(''); }

16. 计算数组中出现的次数

const countOccurrences = (arr) => arr.reduce((acc, val) => (acc[val] ? acc[val]++ : acc[val] = 1, acc), {});

17. 从日期对象获取一年中的某一天

const dayOfYear = date => Math.floor((date - new Date(date.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24);

18. 从数组中过滤唯一值

const uniqueValues = arr => [...new Set(arr)];

19. 将度数转换为弧度

const degreesToRads = deg => (deg * Math.PI) / 180;

20. 延迟函数执行

const defer = (fn, ...args) => setTimeout(fn, 1, ...args);

以上是最有用的 JavaScript 片段的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn