偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

30 個(gè) JavaScript 單行代碼,讓你成為 JavaScript 奇才

開發(fā) 前端
今天這篇文章,我想跟大家分享一些強(qiáng)大的 JavaScript 單行代碼,因?yàn)槭褂眠@些單行代碼可以幫助你提升工作效率,在這篇文章中,我總結(jié)了30個(gè)實(shí)用的代碼技巧,希望這些代碼技巧對(duì)你有用。

今天這篇文章,我想跟大家分享一些強(qiáng)大的 JavaScript 單行代碼,因?yàn)槭褂眠@些單行代碼可以幫助你提升工作效率,在這篇文章中,我總結(jié)了30個(gè)實(shí)用的代碼技巧,希望這些代碼技巧對(duì)你有用。

那么,我們現(xiàn)在就開始吧。

1. 反轉(zhuǎn)字符串

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

2.標(biāo)題大小寫為字符串

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

3. 在變量之間交換值

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

4. 將數(shù)字轉(zhuǎn)換為布爾值

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

5. 從數(shù)組中獲取唯一值

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

6. 截?cái)嘧址?/h4>
const truncateString = (str, maxLength) => (str.length > maxLength) ? `${str.slice(0, maxLength)}...` : str;
truncateString("Hello World", 8); // Hello Wo...

7. 深度克隆對(duì)象

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.

8. 查找數(shù)組中最后一次出現(xiàn)的位置

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

9. 合并數(shù)組

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

10.找到句子中最長(zhǎng)的單詞

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

11. 生成一個(gè)數(shù)字范圍

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. 檢查對(duì)象是否為空

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

13. 計(jì)算數(shù)字的平均值

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

14. 將對(duì)象轉(zhuǎn)換為查詢參數(shù)

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

15. 計(jì)算數(shù)字的階乘

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

16. 計(jì)算字符串中的元音數(shù)

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

19. 檢查閏年

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

20.生成指定長(zhǎng)度的隨機(jī)字符串

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

21.復(fù)制內(nèi)容到剪貼板

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

22. 獲取 HH:MM:SS 格式的當(dāng)前時(shí)間

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

23. 檢查數(shù)字是偶數(shù)還是奇數(shù)

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

24.檢測(cè)是否為深色模式

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

25. 滾動(dòng)到頁(yè)面頂部

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

26. 檢查有效日期

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

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)]

28.計(jì)算兩個(gè)日期之間的間隔

const dayDiff = (d1, d2) => Math.ceil(Math.abs(d1.getTime() - d2.getTime()) / 86400000)
dayDiff(new Date("2023-10-08"), new Date("1999-04-31")) // 8926

29. 找出該日期是一年中的第幾天

const dayInYear = (d) => Math.floor((d - new Date(d.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24)
dayInYear(new Date('2023/10/08'))// 281

30.檢查數(shù)組是否相等

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

結(jié)論

JavaScript 行話是很有價(jià)值的工具,可以簡(jiǎn)化復(fù)雜的任務(wù)并提高代碼的可讀性。通過(guò)理解和利用這些技術(shù),不僅展示了自己的熟練程度,還展示了編寫高效、清晰和可維護(hù)代碼的能力。

我希望你能發(fā)現(xiàn)它們有用之處,讓它們適應(yīng)你的項(xiàng)目,幫助你提升開發(fā)效率,不斷優(yōu)化你的解決方案。

責(zé)任編輯:華軒 來(lái)源: web前端開發(fā)
相關(guān)推薦

2024-10-09 14:45:41

2022-12-19 15:23:51

JavaScrip開發(fā)語(yǔ)言

2023-05-30 15:11:16

JavaScrip開發(fā)功能

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數(shù)組技能

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開發(fā)

2023-03-13 16:08:00

JavaScript數(shù)組函數(shù)

2025-02-18 11:01:49

2022-09-26 12:53:54

JavaScrip單行代碼

2023-08-27 16:19:09

JavaScript編程語(yǔ)言

2024-08-02 16:20:06

2023-01-27 15:22:11

JavaScript開發(fā)編程語(yǔ)言

2023-06-14 15:51:48

JavaScript
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)