?
今天這篇文章重點介紹15個強大的單行代碼處理技巧,可以解決很多常見的開發任務,現在,我們就開始今天的學習。
1、檢查一個數字是否甚至是:
const isEven = n => n % 2 === 0
示例:
console.log(isEven(4)); // true
console.log(isEven(5)); // false
描述:此技巧使用Modulo運算符(%)來確定n除以2的余數是0。如果是,則數為偶數;否則,這很奇怪。
2、從數組中獲取最大值:
const max = arr => Math.max(...arr);
示例:
const numbers = [10, 5, 18];
console.log(max(numbers)); // 18
描述:這使用擴展運算符(``…')將數組arr擴展到Math.max()函數的單個參數中,該函數返回最大的值。
3、從數組中獲取最小值:
const min = arr => Math.min(...arr);
示例:
const numbers = [10, 5, 18];
console.log(min(numbers)); // 5
描述:類似于最大值,此技巧使用Math.min()與傳播操作員一起找到數組中的最小值。
4、反向字符串:
const reverseString = str => str.split('').reverse().join('');
示例:
const message = "Hello";
console.log(reverseString(message)); // "olleH"
描述:這可以有效地使用一系列方法逆轉字符串:
split(''):將字符串轉換為字符數組。
reverse(): :逆轉字符的順序。
join(''):將反向字符重新連接到字符串中。
5、檢查字符串是否是回文:
const isPalindrome = str => str === str.split('').reverse().join('');
示例:
console.log(isPalindrome("racecar")); // true
console.log(isPalindrome("hello")); // false
描述:這建立在字符串反轉技術上。它檢查原始字符串是否與反向字符串相同,指示alendindrome。
6、從數組中刪除重復項:
const unique = arr => [...new Set(arr)];
示例:
const numbers = [1, 2, 2, 3, 4, 1];
console.log(unique(numbers)); // [1, 2, 3, 4]
描述:此單線使用集合來消除重復項。New Set(ARR)從數組中創建一個集合,固有地刪除了重復項,而擴展運算符(``...')將其轉換回數組。
7、大寫字符串的第一個字母:
const capitalize = str => str.charAt(0).toUpperCase() + str.slice(1);
示例:
const greeting = "hello";
console.log(capitalize(greeting)); // "Hello"
描述:這個單線大寫了字符串的第一個字母。它提取第一個字符,將其轉換為大寫,并將其與字符串的其余部分相連。
8、檢查字符串是否僅包含數字:
const isDigitsOnly = str => /^\d+$/.test(str);
示例:
console.log(isDigitsOnly("12345")); // true
console.log(isDigitsOnly("hello")); // false
描述:這使用正則表達式檢查字符串是否僅由數字組成。^\ d+$匹配一個以一個或多個數字開始和結尾的字符串。const sum = arr => arr.reduce((acc, val) => acc + val, 0);
示例:
const numbers = [1, 2, 3, 4];
console.log(sum(numbers)); // 10
描述:這采用reald()方法通過數組迭代,將每個值添加到累加器,該值從0開始。const today = () => new Date().toISOString().split('T')[0];
示例:
console.log(today()); // e.g., "2024-10-12"
描述:這通過將當前日期轉換為ISO字符串格式并提取日期零件來以標準化格式返回今天的日期。
11、生成一系列隨機顏色:
const randomColors = n => Array.from({ length: n }, () => '#' + Math.floor(Math.random() * 16777215).toString(16));
示例:
console.log(randomColors(3)); // e.g., ["#f0c", "#a3d", "#5c6"]
描述:這將使用narray.from()使用N隨機十六進制顏色代碼創建一個數組,并用隨機數生成每種顏色。const shuffle = arr => arr.sort(() => Math.random() - 0.5);
示例:
console.log(shuffle([1, 2, 3])); // e.g., [3, 1, 2]
描述:這通過基于隨機比較器函數對數組中的元素順序隨機。const factorial = n => n <= 1 ? 1 : n * factorial(n - 1);
示例:
console.log(factorial(5)); // 120
描述:這將計算所有正整數的乘積,最多遞歸n。
14、檢查對象是否為空:
const isEmpty = obj => Object.keys(obj).length === 0;
示例:
console.log(isEmpty({})); // true
描述:這可以通過驗證其鍵數組的長度來檢查對象是否沒有屬性。
15、將駱駝字符串轉換為連接式:
const camelToKebab = str => str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
示例:
const camelCaseString = "thisIsCamelCase";
console.log(camelToKebab(camelCaseString)); // "this-is-camel-case"
描述:此將駱駝式字符串轉換為連接式案例,使用正則表達式:
替換(/([A-Z])([[A-Z])/g,'$ 1- $ 2'):查找小寫字母的出現,然后是大寫字母,并用小寫字母,連字符和大寫字母代替。
tolowercase():將整個結果的字符串轉換為小寫,以進行適當的烤肉串格式。
這些單行對于在JavaScript中快速操作很有用,可以幫助你寫出更加簡潔的代碼。
該文章在 2024/11/7 10:38:54 編輯過