總結28個令人驚豔的JavaScript單行程式碼

海天网發表於2024-10-02

1. 階乘計算

使用遞迴函式計算給定數字的階乘。

1
2
const factorial = n => n === 0 ? 1 : n * factorial(n - 1);
console.log(factorial(5)); // 輸出 120

2. 判斷一個變數是否為物件型別

1
const isObject = variable === Object(variable);

3. 陣列去重

利用Set資料結構的特性,去除陣列中的重複元素。

1
const uniqueArray = [...new Set(array)];

4. 陣列合並

合併多個陣列,建立一個新的陣列。

1
const mergedArray = [].concat(...arrays);

5. 快速最大值和最小值

獲取陣列中的最大值和最小值。

1
2
const max = Math.max(...array);
const min = Math.min(...array);

6. 陣列求和

快速計算陣列中所有元素的和。

1
const sum = array.reduce((acc, cur) => acc + cur, 0);

7. 獲取隨機整數

生成一個指定範圍內的隨機整數。

1
const randomInt = Math.floor(Math.random() * (max - min + 1)) + min;

8. 反轉字串

將字串反轉。

1
const reversedString = string.split('').reverse().join('');

9. 檢查迴文字串

判斷一個字串是否為迴文字串。

1
const isPalindrome = string === string.split('').reverse().join('');

10. 扁平化陣列

將多維陣列轉換為一維陣列。

1
const flattenedArray = array.flat(Infinity);

11. 取隨機陣列元素

從陣列中隨機取出一個元素。

1
const randomElement = array[Math.floor(Math.random() * array.length)];

12. 判斷陣列元素唯一

檢查陣列中的元素是否唯一。

1
const isUnique = array.length === new Set(array).size;

13. 字串壓縮

將字串中重複的字元進行壓縮。

1
const compressedString = string.replace(/(.)\1+/g, match => match[0] + match.length);

14. 生成斐波那契數列

生成斐波那契數列的前n項。

1
const fibonacci = Array(n).fill().map((_, i, arr) => i <= 1 ? i : arr[i - 1] + arr[i - 2]);

15. 陣列求交集

獲取多個陣列的交集。

1
const intersection = arrays.reduce((acc, cur) => acc.filter(value => cur.includes(value)));

16. 驗證郵箱格式

檢查字串是否符合郵箱格式。

1
const isValidEmail = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/.test(email);

17. 陣列去除假值

移除陣列中的所有假值,如falsenull0""undefined

1
const truthyArray = array.filter(Boolean);

18. 求階乘

計算一個數的階乘。

1
const factorial = n => n <= 1 ? 1 : n * factorial(n - 1);

19. 判斷質數

檢查一個數是否為質數。

1
const isPrime = n => ![...Array(n).keys()].slice(2).some(i => n % i === 0);

20. 檢查物件是空物件

判斷物件是否為空物件。

1
const isEmptyObject = Object.keys(object).length === 0 && object.constructor === Object;

21. 判斷回撥函式為真

檢查陣列中的每個元素是否滿足特定條件。

1
const allTrue = array.every(condition);

22. 檢查回撥函式為假

檢查陣列中是否有元素滿足特定條件。

1
const anyFalse = array.some(condition);

23. 陣列排序

對陣列進行排序。

1
const sortedArray = array.sort((a, b) => a - b);

24. 日期格式化

將日期物件格式化為指定格式的字串。

1
const formattedDate = new Date().toISOString().slice(0, 10);

25. 將字串轉為整數型別

1
const intValue = +str;

26. 計算陣列中元素出現的次數

統計陣列中各元素的出現次數。

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

27. 交換兩個變數的值

1
[a, b] = [b, a];

28. 利用逗號運算子分隔多個表示式

1
const result = (expression1, expression2, ..., expressionN);

以上就是總結28個令人驚豔的JavaScript單行程式碼的詳細內容

相關文章