20 個最有用的 JavaScript 片段
使用這些基本片段來提高您的編碼效率。
1. 產生隨機數
1 | let randomNum = Math. floor (Math.random() * maxNum);
|
登入後複製
2. 檢查物件是否為空
1 | function isEmptyObject(obj) { return Object.keys(obj).length === 0; }
|
登入後複製
3. 建立倒數計時器
1 | function countdownTimer(minutes) { }
|
登入後複製
4. 對物件數組進行排序
1 | function sortByProperty(arr, property) { return arr.sort((a, b) => (a[property] > b[property]) ? 1 : -1); }
|
登入後複製
5. 從陣列中刪除重複項
1 | let uniqueArr = [... new Set(arr)];
|
登入後複製
6. 截斷字串
1 | function truncateString(str, num) { return str.length > num ? str.slice(0, num) + "..." : str; }
|
登入後複製
7. 將字串轉換為標題大小寫
1 | function toTitleCase(str) { return str.replace(/\b\w/g, function (txt) { return txt.charAt(0).toUpperCase() + txt. substr (1).toLowerCase(); }); }
|
登入後複製
8. 檢查數組中是否存在某個值
1 | let isValueInArray = arr.includes(value);
|
登入後複製
9. 反轉字串
1 | let reversedStr = str.split( "" ).reverse().join( "" );
|
登入後複製
10. 從現有數組建立新數組
1 | let newArr = oldArr.map( function (item) { return item + 1; });
|
登入後複製
11. 函數呼叫去抖動
1 | function debounce(func, delay) { let timeout; return function (...args) { clearTimeout(timeout); timeout = setTimeout(() => func.apply(this, args), delay); }; }
|
登入後複製
12. 限制函數調用
1 | 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. 克隆對象
1 | const cloneObject = (obj) => ({ ...obj });
|
登入後複製
14. 合併兩個對象
1 | const mergeObjects = (obj1, obj2) => ({ ...obj1, ...obj2 });
|
登入後複製
15. 檢查回文字串
1 | function isPalindrome(str) { const cleanedStr = str.replace(/[^A-Za-z0-9]/g, '' ).toLowerCase(); return cleanedStr === cleanedStr.split( '' ).reverse().join( '' ); }
|
登入後複製
16. 計算數組中出現的次數
1 | const countOccurrences = (arr) => arr.reduce((acc, val) => (acc[val] ? acc[val]++ : acc[val] = 1, acc), {});
|
登入後複製
17. 從日期物件取得一年中的某一天
1 | const dayOfYear = date => Math. floor (( date - new Date ( date .getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24);
|
登入後複製
18. 從陣列中過濾唯一值
1 | const uniqueValues = arr => [... new Set(arr)];
|
登入後複製
19. 將度數轉換為弧度
1 | const degreesToRads = deg => (deg * Math.PI) / 180;
|
登入後複製
20. 延遲函數執行
1 | const defer = (fn, ...args) => setTimeout(fn, 1, ...args);
|
登入後複製
以上是最有用的 JavaScript 片段的詳細內容。更多資訊請關注PHP中文網其他相關文章!