精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

28 個 JavaScript 單行代碼讓你成為 JavaScript 大神

開發 前端
今天這篇文章,我將分享28個強大的 JavaScript 單行代碼,可以節省您的時間并提高您的工作效率。

今天這篇文章,我將分享28個強大的 JavaScript 單行代碼,可以節省您的時間并提高您的工作效率。

1. 反轉字符串

const reversedString = str => str.split('').reverse().join('');
reversedString("Hello World"); // dlroW olleH

此函數獲取一個字符串,將其拆分為一個字符數組,反轉該數組,然后將其重新合并為一個字符串,反轉原始字符串。

2. 標題大小寫字符串

const titleCase = sentence => sentence.replace(/\b\w/g, char => char.toUpperCase());
titleCase("hello world"); // Hello World

它使用正則表達式匹配每個單詞的首字母并應用 toUpperCase(),將字符串中每個單詞的首字母轉換為大寫。

3. 在變量之間交換值

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

使用解構賦值,我們可以交換兩個變量的值,而無需臨時變量。

4. 將數字轉換為布爾值

const isTruthy = num => !!num;
isTruthy(0) // False

!! 運算符將任何數字轉換為其布爾值。

5. 從數組中獲取唯一值

const uniqueArray = arr => [...new Set(arr)];
uniqueArray([5,5,2,2,2,4,2]) // [ 5, 2, 4 ]

這使用 Set 從數組中刪除重復值,返回一個唯一值數組。

6. 截斷字符串

const truncateString = (str, maxLength) => (str.length > maxLength) ? `${str.slice(0, maxLength)}...` : str;
truncateString("Hello World", 8); // Hello Wo...

此函數將字符串縮短到指定的 maxLength,如果字符串長度超過限制,則添加省略號 (…)。

7. 深度克隆對象

const deepClone = obj => JSON.parse(JSON.stringify(obj));
const obj1 = { name: "John", age: 40};
const obj2 = deepClone(obj1);
obj2.age = 20;
console.log(obj1.age); // 40
//This method works for most objects, but it has some limitations. Objects with circular references or functions cannot be converted to JSON, so this method will not work for those types of objects.

它將對象轉換為 JSON 字符串,然后再轉換為對象,從而創建深度克隆。它不處理循環引用或函數。

8. 查找數組中的最后一次出現

const lastIndexOf = (arr, item) => arr.lastIndexOf(item);
lastIndexOf([5, 5, 4 , 2 , 3 , 4], 5) // 1

它使用 lastIndexOf() 方法查找數組中指定項最后一次出現的索引。

9. 合并數組

const mergeArrays = (...arrays) => [].concat(...arrays);
mergeArrays([5, 5, 4], [2 , 3 , 4]) // [5, 5, 4, 2, 3, 4]

它使用 concat() 方法將多個數組合并為一個

10. 查找句子中最長的單詞

const longestWord = sentence => sentence.split(' ').reduce((longest, word) => word.length > longest.length ? word : longest, '');
longestWord("The quick brown fox jumped over the lazy dog") // jumped

它使用空格作為分隔符將句子拆分為單詞,然后使用 reduce() 查找并返回句子中最長的單詞。

11. 生成數字范圍

const range = (start, end) => [...Array(end - start + 1)].map((_, i) => i + start);
range(5, 15); // [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

通過生成特定長度的數組并將其映射到正確的范圍,這將從頭到尾創建一個數字數組。

12. 檢查對象是否為空

const isEmptyObject = obj => Object.keys(obj).length === 0;
isEmptyObject({}) // true
isEmptyObject({ name: 'John' }) // false

它通過使用 Object.keys() 驗證對象是否沒有鍵來檢查對象是否為空。

13. 計算數字的平均值

const average = arr => arr.reduce((acc, num) => acc + num, 0) / arr.length;
average([1, 2, 3, 4, 5, 6, 7, 8, 9]) // 5

此單行代碼通過使用 reduce() 將所有值相加并除以數組的長度來計算數字數組的平均值。

14. 將對象轉換為查詢參數

const objectToQueryParams = obj => Object.entries(obj).map(([key, val]) => `${encodeURIComponent(key)}=${encodeURIComponent(val)}`).join('&');
objectToQueryParams({ page: 2, limit: 10 }) // page=2&limit=10

它通過使用 encodeURIComponent() 對鍵和值進行編碼并使用 (&) 連接它們,將對象轉換為查詢字符串格式。

15. 計算數字的階乘

const factorial = num => num <= 1 ? 1 : num * factorial(num - 1);
factorial(4) // 24

此代碼以遞歸方式計算數字的階乘,將其乘以每個小于它的數字,直到達到 1。

16. 計算字符串中的元音

const countVowels = str => (str.match(/[aeiou]/gi) || []).length;
countVowels('The quick brown fox jumps over the lazy dog') // 11

此代碼使用正則表達式查找字符串中的所有元音并返回計數。如果未找到元音,則返回一個空數組。

17. 檢查電子郵件是否有效

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

此示例再次使用正則表達式來檢查給定的字符串是否為有效的電子郵件格式。

18. 從字符串中刪除空格

const removeWhitespace = str => str.replace(/\s/g, '');
removeWhitespace("H el l o") // Hello

此示例使用 replace() 方法和與所有空格字符匹配的正則表達式從字符串中刪除所有空格。

19. 檢查閏年

const isLeapYear = year => (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);
isLeapYear(2023) // false
isLeapYear(2004) // true

通過檢查年份是否能被 4 整除但不能被 100 整除(除非它也能被 400 整除)來確定年份是否為閏年。

20. 生成指定長度的隨機字符串

const generateRandomString = length => [...Array(length)].map(() => Math.random().toString(36)[2]).join('')
generateRandomString(8) // 4hq4zm7y

通過反復將隨機數轉換為 36 進制并選擇字符,生成指定長度的隨機字母數字字符串。

21. 將內容復制到剪貼板

const copyToClipboard = (content) => navigator.clipboard.writeText(content)
copyToClipboard("Hello World")

使用 navigator.clipboard.writeText() 方法將指定內容復制到用戶的剪貼板。

22. 獲取 HH:MM:SS 格式的當前時間

const currentTime = () => new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false })
currentTime() // 19:52:21

使用 toLocaleTimeString() 并指定必要的選項,以 HH:MM:SS 格式檢索當前時間。

23. 檢查數字是偶數還是奇數

const isEven = num => num % 2 === 0
isEven(1) // false
isEven(2) // true

使用模數運算符 (%) 檢查數字是否為偶數。如果除以 2 的余數為 0,則該數字為偶數;否則為奇數。

24. 檢測是否為暗色模式

const isDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
console.log(isDarkMode) // false

使用 window.matchMedia() 檢查用戶的系統或瀏覽器是否設置為暗色模式,以匹配暗色配色方案的媒體查詢。

25. 滾動到頁面頂部

const goToTop = () => window.scrollTo(0, 0)
goToTop()

通過使用 window.scrollTo() 將 x 和 y 滾動位置都設置為 0,將窗口滾動回頁面頂部。

26. 檢查日期是否有效

const isValidDate = date => date instanceof Date && !isNaN(date);
isValidDate(new Date("This is not date.")) // false
isValidDate(new Date("08-10-2023")) // true

這將檢查輸入是否為有效的 Date 對象,并確保它不是 NaN(如果日期無效,則會出現 NaN)。

27. 生成日期范圍

const generateDateRange = (startDate, endDate) => Array.from({ length: (endDate - startDate) / (24 * 60 * 60 * 1000) + 1 }, (_, index) => new Date(startDate.getTime() + index * 24 * 60 * 60 * 1000));
generateDateRange(new Date("2023-09-31"), new Date("2023-10-08")) // [Sun Oct 01 2023 05:30:00 GMT+0530 (India Standard Time), Mon Oct 02 2023 05:30:00 GMT+0530 (India Standard Time), Tue Oct 03 2023 05:30:00 GMT+0530 (India Standard Time), Wed Oct 04 2023 05:30:00 GMT+0530 (India Standard Time), Thu Oct 05 2023 05:30:00 GMT+0530 (India Standard Time), Fri Oct 06 2023 05:30:00 GMT+0530 (India Standard Time), Sat Oct 07 2023 05:30:00 GMT+0530 (India Standard Time), Sun Oct 08 2023 05:30:00 GMT+0530 (India Standard Time)]

這將生成從 startDate 到 endDate 的日期數組。它計算兩個日期之間的總天數并將它們映射到日期數組。

28. 檢查數組相等性

const areArraysEqual = (arr1, arr2) => JSON.stringify(arr1) === JSON.stringify(arr2);
areArraysEqual([1, 2, 3], [4, 5, 6]) // false
areArraysEqual([1, 2, 3], [1, 2, 3]) // false

這將計算兩個日期之間的絕對差(以毫秒為單位),并將其除以一天中的毫秒數,將其轉換為天數。

總結

這些 JavaScript 單行代碼是有價值的函數,可以簡化復雜的任務并提高代碼的可讀性。通過理解和運用這些技術,您不僅可以展示自己的熟練程度,還可以展示編寫高效、清晰且可維護的代碼的能力。

我希望您在開發過程中發現這些單行代碼很有用。嘗試使用它們,將它們應用于您的項目,并考慮它們如何優化您的解決方案。

責任編輯:華軒 來源: web前端開發
相關推薦

2023-10-10 16:20:38

JavaScript代碼技巧

2022-10-08 07:54:24

JavaScriptAPI代碼

2025-04-07 07:30:00

JavaScript前端

2022-11-28 23:44:26

JavaScript技巧程序員

2024-08-27 15:25:33

2025-02-25 11:12:53

2022-10-20 15:16:23

JavaScript數組技能

2023-02-15 16:19:59

JavaScript技巧API

2022-07-08 09:53:51

JavaScript單行代碼

2022-07-12 10:18:05

JavaScript單行代碼

2023-08-01 14:36:00

JavaScript開發

2023-03-13 16:08:00

JavaScript數組函數

2022-09-26 12:53:54

JavaScrip單行代碼

2025-02-18 11:01:49

2022-12-19 15:23:51

JavaScrip開發語言

2023-05-30 15:11:16

JavaScrip開發功能

2023-08-27 16:19:09

JavaScript編程語言

2023-03-27 23:57:25

JavaScrip開發技巧

2023-01-27 15:22:11

JavaScript開發編程語言

2022-09-02 23:08:04

JavaScript技巧開發
點贊
收藏

51CTO技術棧公眾號

美女被到爽高潮视频| 国自产拍偷拍精品啪啪一区二区| 国产免费不卡av| 欧美日韩免费| 亚洲乱亚洲乱妇无码| 男女爽爽爽视频| av片在线观看网站| 久久综合久久鬼色| 成人精品在线观看| 综合激情网五月| 欧美电影免费播放| 亚洲国产一区二区三区四区| 看欧美ab黄色大片视频免费 | 欧美h视频在线观看| 色婷婷综合视频| 韩日av一区二区| 日本中文字幕久久看| 少妇人妻丰满做爰xxx| 日韩有码av| 欧美成人r级一区二区三区| 88av.com| 看黄在线观看| 亚洲综合丁香婷婷六月香| 日本精品视频一区| 日韩在线观看视频一区| 国产一区不卡精品| 国产精品三级美女白浆呻吟| 在线天堂中文字幕| 亚洲无毛电影| 欧美老女人性视频| 女同久久另类69精品国产| 天天操综合520| 精品国产乱码久久| 日韩av影视大全| 久久亚洲国产精品尤物| 色天天综合久久久久综合片| 成品人视频ww入口| 先锋影音在线资源站91| 中文字幕一区二| 天堂精品视频| 九色国产在线观看| 26uuu久久天堂性欧美| 成人动漫在线观看视频| 国产黄频在线观看| 国产成人综合在线播放| 成人午夜小视频| 一区二区三区免费在线视频| 日本不卡一区二区三区| 欧美一级电影在线| 特级毛片www| 国产精品综合| 欧美在线观看一区二区三区| 日本熟妇一区二区| 亚洲乱码久久| 欧美一区二区三区免费观看| 日韩欧美一级视频| 性久久久久久| 国产精品吹潮在线观看| 亚洲欧美一二三区| 秋霞午夜av一区二区三区| 国产精品成人国产乱一区| 无码视频一区二区三区| 日韩影院精彩在线| 国产精品免费久久久久影院 | 日韩欧美国产一区二区三区| 亚洲欧美日韩网站| 中文在线综合| 日韩精品日韩在线观看| 国精品无码人妻一区二区三区| 亚洲精华一区二区三区| 亚洲色在线视频| 亚洲a∨无码无在线观看| 婷婷丁香综合| 欧美激情免费观看| 可以免费看的av毛片| 日韩成人一区二区三区在线观看| 国产精品美乳一区二区免费| 国产又粗又黄又爽| 成人性色生活片| 欧美日韩国产综合视频在线| 国产特黄在线| 中文字幕中文在线不卡住| 日本一二三区视频在线| a级大胆欧美人体大胆666| 色婷婷综合久久久中文一区二区 | 日本一区二区中文字幕| 日韩欧美高清一区| aaaaa级少妇高潮大片免费看| 精品久久美女| 欧美激情18p| 国产精品第5页| 国产在线一区观看| 国产伦一区二区三区色一情| 黄色在线播放| 夜夜嗨av一区二区三区中文字幕| 男人靠女人免费视频网站| 欧美成人毛片| 日韩成人中文字幕| www深夜成人a√在线| 久久av最新网址| 91在线高清视频| 黄上黄在线观看| 一区二区三区在线视频免费| 欧美午夜性生活| 国产成人在线中文字幕| 色999日韩欧美国产| 久久不卡免费视频| 国产美女娇喘av呻吟久久| 久久综合毛片| 国产丝袜在线播放| 欧美日韩国产小视频| 一级特黄a大片免费| 亚洲精品成人无限看| 国产精品扒开腿做| 少妇性bbb搡bbb爽爽爽欧美| 亚洲最新视频在线观看| 一级在线免费视频| 一区二区三区视频免费观看| 欧美日韩成人在线观看| 亚洲综合精品国产一区二区三区 | 男人晚上看的视频| 嫩草成人www欧美| 99中文字幕| 成人黄色网址| 欧美日韩精品一二三区| 久久av无码精品人妻系列试探| 激情综合自拍| 亚洲free性xxxx护士hd| 爱久久·www| 91久久一区二区| 30一40一50老女人毛片| 亚洲美女毛片| 国产亚洲精品美女久久久m| 国产美女福利在线| 欧美日韩国产一二三| 国产调教在线观看| 日韩国产精品91| 欧美裸体网站| 成人片免费看| 亚洲欧美日韩网| 手机看片久久久| 91在线视频观看| 成人在线免费观看av| 国产无遮挡裸体免费久久| 久久99精品久久久久久青青91| 国产精品视频久久久久久| 国产精品美女久久久久久久网站| 激情综合网俺也去| 成人综合一区| 成人一区二区电影| 日本中文字幕视频在线| 欧美电影在线免费观看| 欧洲美女女同性互添| 国产一区二区毛片| 2022中文字幕| 成人知道污网站| 91精品国产91久久久久久不卡| 三级在线观看网站| 日韩欧美中文第一页| 欧美另类z0zx974| 麻豆传媒一区二区三区| 影音先锋欧美在线| 永久免费精品视频| 久久免费视频观看| 丰满熟女一区二区三区| 天天色图综合网| 一区二区黄色片| 久久精品国产网站| 青青草视频国产| 亚洲精品蜜桃乱晃| 国产精品自产拍在线观| 中中文字幕av在线| 日韩国产欧美精品在线| 中文字幕天堂在线| 综合在线观看色| 中文字幕在线播放视频| 日韩一区精品字幕| 喜爱夜蒲2在线| 欧美美女啪啪| 国产精品久久婷婷六月丁香| av在线免费网站| 亚洲精品91美女久久久久久久| 99re国产在线| 一区二区三区在线观看欧美| 亚洲欧美色图视频| 国产在线精品一区在线观看麻豆| 水蜜桃色314在线观看| 日韩国产欧美一区二区| 成人在线观看91| 一区在线影院| 欧美丰满少妇xxxxx| 美州a亚洲一视本频v色道| 欧美久久久久久久久| 韩国av中文字幕| 亚洲男人天堂一区| 国产精品1000部啪视频| 国产麻豆视频精品| 99热成人精品热久久66| 欧美精品色网| 亚洲欧洲久久| 色综合久久中文| 亚洲伊人成综合成人网| 欧美大片免费观看网址| 欧美成人网在线| av网站在线免费播放| 日韩av网址在线观看| av加勒比在线| 欧美三级电影在线观看| 一级片免费网址| 亚洲精品欧美综合四区| 黄色片在线观看免费| av亚洲精华国产精华精| 亚洲女人在线观看| 免费成人av在线播放| 无码aⅴ精品一区二区三区浪潮 | 亚洲69av| 国产伦精品一区二区三区高清| 3d动漫一区二区三区在线观看| 人体精品一二三区| 大桥未久在线视频| 欧美激情亚洲国产| 在线视频中文字幕第一页| 综合国产在线观看| 国产一级片在线播放| 精品亚洲男同gayvideo网站| 欧美77777| 精品av久久707| 精品人妻一区二区三区三区四区 | 天堂一区在线观看| 久久亚洲影院| 欧美精品第三页| 亚洲一区国产| 乱妇乱女熟妇熟女网站| 一区免费视频| 免费拍拍拍网站| 亚洲欧洲午夜| 国产精品成人久久电影| 亚洲黄色三级| 国产欧美日韩网站| 一本久道久久综合狠狠爱| 少妇高潮毛片色欲ava片| 亚洲经典在线| 草草久久久无码国产专区| aa国产精品| 国产高清精品在线观看| 午夜在线视频一区二区区别| 久久久999视频| 噜噜爱69成人精品| 天天爽天天爽夜夜爽| 日本aⅴ亚洲精品中文乱码| 欧美一级特黄a| 久久爱另类一区二区小说| 天天看片天天操| 国产超碰在线一区| 深田咏美中文字幕| 91在线视频免费91| 亚洲精品91在线| 综合亚洲深深色噜噜狠狠网站| 外国一级黄色片| 亚洲国产成人91porn| 亚洲高清毛片一区二区| 欧美无乱码久久久免费午夜一区| 伊人网av在线| 日韩欧美第一区| 无码精品视频一区二区三区| 亚洲欧美日韩中文视频| 91在线高清| 欧美国产日韩精品| 欲香欲色天天天综合和网| 国产精品福利观看| 韩国一区二区三区视频| 国产精品亚洲不卡a| 九九热线有精品视频99| 欧美一级黄色录像片| 亚洲福利免费| av网站在线不卡| 成人精品免费看| 美国黄色特级片| 亚洲一线二线三线视频| 久久久久久少妇| 日韩区在线观看| 嫩草在线播放| 欧美日韩国产成人在线| 巨茎人妖videos另类| 91精品视频网站| 思热99re视热频这里只精品| 亚洲自拍三区| 国产欧美一级| 少妇丰满尤物大尺度写真| 国产视频在线观看一区二区三区| 国产老头老太做爰视频| 色综合久久久久综合99| 99久久免费国产精精品| 亚洲欧美中文在线视频| 性欧美1819sex性高清大胸| 国产精品96久久久久久又黄又硬| 午夜久久av| 亚洲国产日韩欧美| 一区二区三区四区五区精品视频 | 成人黄页毛片网站| 国产18无套直看片| 精品国产老师黑色丝袜高跟鞋| 91亚洲国产成人精品一区| 国产视频精品一区二区三区| 成人片在线看| 国产噜噜噜噜噜久久久久久久久 | 国产精品suv一区二区69| 欧美日韩电影在线播放| 欧美香蕉爽爽人人爽| 欧美精品videos| 欧美亚洲二区| 日韩欧美三级电影| 国产人成精品一区二区三| 人妻av一区二区三区| 国产精品乱码人人做人人爱 | 久久电影一区| 农村末发育av片一区二区| 国产精品理伦片| 亚洲中文字幕无码爆乳av| 日韩av综合网站| 91超碰在线免费| 99国产超薄丝袜足j在线观看| 99久久婷婷这里只有精品 | 黄色小视频大全| 久久99久久99| 美国精品一区二区| 欧美天天综合网| 超碰免费在线观看| 国产精品久久久久77777| 久草精品在线| 成年人观看网站| 久久久天堂av| 久久亚洲精品石原莉奈 | 三级网站在线免费观看| 红桃av永久久久| 天堂网av在线播放| 久久久久久久国产精品| 91成人噜噜噜在线播放| 日韩免费在线观看av| 国产剧情在线| 日韩小视频在线观看| 小明成人免费视频一区| 视频一区视频二区视频| 日韩黄色免费电影| avhd101老司机| 欧美日韩三级一区| 在线观看av黄网站永久| 国产日韩在线观看av| 亚洲第一偷拍| 亚洲最大视频网| 亚洲.国产.中文慕字在线| 婷婷视频在线观看| 国产91精品久| 欧美亚洲国产一区| 中文字幕22页| 一区二区三区四区国产精品| 亚洲精品久久久狠狠狠爱 | 日韩av福利| 先锋影音一区二区三区| 久草精品在线观看| 九九热精品在线观看| 精品国产乱码久久久久久老虎| 嗯啊主人调教在线播放视频| 久久久久高清| 麻豆精品一区二区综合av| 日韩高清dvd碟片| 亚洲成人av资源网| 久久91导航| 三年中国中文在线观看免费播放| 国产传媒日韩欧美成人| 国产高清中文字幕| 久久精品国产一区二区三区 | 欧美视频1区| 美女一区二区三区| 精品一区二区三区四| 亚洲男人的天堂网站| 亚洲爽爆av| 777777av| 国产精品久久久久久户外露出 | 男女视频免费看| 一区二区三区视频免费在线观看 | 538prom精品视频线放| 久久青青色综合| 日韩av电影免费在线观看| 久久成人免费网| 日韩 欧美 综合| 中文字幕九色91在线| 亚洲成人偷拍| 亚洲精品一二三四五区| 亚洲一区国产视频| seseavlu视频在线| 国产免费一区| 精品制服美女丁香| 欧美精品一二三四区| 久久久www成人免费精品张筱雨 | 亚洲免费视频一区| 成人午夜又粗又硬又大| 国产精品久久久久久免费免熟| 97精品久久久中文字幕免费| 国产精品久久久久久久|