十個 JavaScript 一行代碼,解決 90% 的開發難題
在JavaScript開發過程中,我們經常會遇到一些看似復雜但實際上可以通過簡潔的代碼解決的問題。下面分享10個JavaScript一行代碼技巧,解決日常開發中的常見難題。
1. 數組去重
const uniqueArray = [...new Set(array)];
這行代碼利用Set對象的唯一性特點,可以一步完成數組去重,比傳統的循環方法更加簡潔高效。
2. 對象屬性值轉數組
const values = Object.values(object);
直接獲取對象所有屬性的值并轉換為數組,避免了手動遍歷對象。
3. 獲取隨機布爾值
const randomBoolean = Math.random() >= 0.5;
生成一個隨機的布爾值,在需要隨機決策時非常有用。
4. 從數組中獲取隨機元素
const randomElement = array[Math.floor(Math.random() * array.length)];
這行代碼可以從數組中隨機選取一個元素,適用于抽獎、隨機展示等場景。
5. 檢查變量是否為空值
const isNullOrUndefined = value == null;
這行代碼可以同時檢查變量是否為null或undefined,簡化條件判斷。
6. 將字符串轉換為數字
const num = +"42";
使用加號操作符可以快速將字符串轉換為數字,比parseInt()更簡潔。
7. 截取小數點后指定位數
const toFixed = num => Math.round(num * 100) / 100; // 保留兩位小數
比toFixed()方法更可靠的保留小數位數方法,避免了四舍五入的問題。
8. 合并對象
const mergedObject = {...obj1, ...obj2};
使用擴展運算符可以快速合并多個對象,后面的對象屬性會覆蓋前面的同名屬性。
9. 獲取URL參數
const params = Object.fromEntries(new URLSearchParams(window.location.search));
一行代碼解析URL中的查詢參數,返回一個包含所有參數的對象。
10. 深拷貝對象
const deepCopy = JSON.parse(JSON.stringify(object));
雖然這種方法有局限性(不能處理函數、循環引用等),但對于大多數JSON結構的數據來說,是最簡單的深拷貝方法。