20 個 JavaScript 單行代碼殺手锏

獲取瀏覽器Cookie的值

通過使用document.cookie訪問來檢索cookie的值。

const?cookie?=?name?=>?`;?${document.cookie}`.split(`;?${name}=`).pop().split(';').shift();

cookie('_ga');
//?Result:?"GA1.2.1929736587.1601974046"

將RGB轉換為十六進制

const?rgbToHex?=?(r,?g,?b)?=>
??"#"?+?((1?<<?24)?+?(r?<<?16)?+?(g?<<?8)?+?b).toString(16).slice(1);

rgbToHex(0,?51,?255);?
//?Result:?#0033ff

復制到剪貼板

使用navigator.clipboard.writeText可以輕松將文本復制到剪貼板。

const?copyToClipboard?=?(text)?=>?navigator.clipboard.writeText(text);

copyToClipboard("Hello?World");

檢查日期是否有效

使用以下代碼段檢查給定日期是否有效。

const?isDateValid?=?(...val)?=>?!Number.isNaN(new?Date(...val).valueOf());

isDateValid("December?17,?1995?03:24:00");
//?Result:?true

查找一年中的某一天

查找給定日期。

const?dayOfYear?=?(date)?=>
??Math.floor((date?-?new?Date(date.getFullYear(),?0,?0))?/?1000?/?60?/?60?/?24);

dayOfYear(new?Date());
//?Result:?272

大寫字符串

Javascript沒有內置的大寫函數(shù),但是我們可以使用以下代碼實現(xiàn)大寫。

const?capitalize?=?str?=>?str.charAt(0).toUpperCase()?+?str.slice(1)

capitalize("follow?for?more")
//?Result:?Follow?for?more

查找兩個日期之間的天數(shù)

使用以下代碼段查找給定兩個日期之間的天數(shù)。

const?dayDif?=?(date1,?date2)?=>?Math.ceil(Math.abs(date1.getTime()?-?date2.getTime())?/?86400000)

dayDif(new?Date("2020-10-21"),?new?Date("2021-10-22"))
//?Result:?366

清除所有Cookie

你可以通過使用document.cookie訪問cookie并清除它,從而輕松地清除存儲在網頁中的所有cookie。

const?clearCookies?=?document.cookie.split(';').forEach(cookie?=>?document.cookie?=?cookie.replace(/^?+/,?'').replace(/=.*/,?`=;expires=${new?Date(0).toUTCString()};path=/`));

生成隨機十六進制

你可以使用Math.randompadEnd屬性生成隨機的十六進制顏色。

const?randomHex?=?()?=>?`#${Math.floor(Math.random()?*?0xffffff).toString(16).padEnd(6,?"0")}`;

console.log(randomHex());
//?Result:?#92b008

從數(shù)組中刪除重復項

你可以使用JavaScript中的Set輕松刪除重復項。這是救命稻草。

const?removeDuplicates?=?(arr)?=>?[...new?Set(arr)];

console.log(removeDuplicates([1,?2,?3,?3,?4,?4,?5,?5,?6]));
//?Result:?[?1,?2,?3,?4,?5,?6?]

從URL獲取查詢參數(shù)

你可以通過傳遞window.location或原始URLgoole.com?search=easy&page=3從url輕松檢索查詢參數(shù)。

const?getParameters?=?(URL)?=>?{
??URL?=?JSON.parse('{"'?+?decodeURI(URL.split("?")[1]).replace(/"/g,?'\\"').replace(/&/g,?'","').replace(/=/g,?'":"')?+'"}');
??return?JSON.stringify(URL);
};

從日期輸出時間

我們可以從給定日期以hour::minutes::seconds的格式輸出時間。

const?timeFromDate?=?date?=>?date.toTimeString().slice(0,?8);

console.log(timeFromDate(new?Date(2021,?0,?10,?17,?30,?0)));?
//?Result:?"17:30:00"

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

const?isEven?=?num?=>?num?%?2?===?0;

console.log(isEven(2));?
//?Result:?True

求數(shù)字的平均值

使用reduce方法查找多個數(shù)字的平均值。

const?average?=?(...args)?=>?args.reduce((a,?b)?=>?a?+?b)?/?args.length;

average(1,?2,?3,?4);
//?Result:?2.5

滾動到頂部

你可以使用window.scrollTo(0, 0)方法自動滾動到頂部。將xy都設置為0。

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

goToTop();

反轉字符串

你可以使用split、reversejoin方法輕松反轉字符串。

const?reverse?=?str?=>?str.split('').reverse().join('');

reverse('hello?world');?????
//?Result:?'dlrow?olleh'

檢查數(shù)組是否為空

只要簡簡單單的一行代碼就可以檢查數(shù)組是否為空,返回truefalse

const?isNotEmpty?=?arr?=>?Array.isArray(arr)?&&?arr.length?>?0;

isNotEmpty([1,?2,?3]);
//?Result:?true

獲取選定的文本

使用內置的getSelection屬性獲取用戶選擇的文本。

const?getSelectedText?=?()?=>?window.getSelection().toString();

getSelectedText();

打亂數(shù)組

使用sortrandom方法打亂數(shù)組非常容易。

const?shuffleArray?=?(arr)?=>?arr.sort(()?=>?0.5?-?Math.random());

console.log(shuffleArray([1,?2,?3,?4]));
//?Result:?[?1,?4,?3,?2?]

檢測暗模式

使用以下代碼可以檢查用戶的設備是否處于暗模式。

const?isDarkMode?=?window.matchMedia?&&?window.matchMedia('(prefers-color-scheme:?dark)').matches

console.log(isDarkMode)?//?Result:?True?or?False

總結

希望這20個單行代碼殺手锏能幫助到你,請關注一下我吧??!

點擊下方卡片/微信搜索,關注公眾號“天宇文創(chuàng)意樂派”(ID:gh_cc865e4c536b)

本文使用 文章同步助手 同步

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 今天青石的票圈出鏡率最高的,莫過于張藝謀的新片終于定檔了。 一張滿溢著水墨風的海報一次次的出現(xiàn)在票圈里,也就是老謀...
    青石電影閱讀 10,820評論 1 2
  • 一、jQuery簡介 JQ是JS的一個優(yōu)秀的庫,大型開發(fā)必備。在此,我想說的是,JQ里面很多函數(shù)使用和JS類似,所...
    Welkin_qing閱讀 12,814評論 1 6
  • 字符串 1.什么是字符串 使用單引號或者雙引號括起來的字符集就是字符串。 引號中單獨的符號、數(shù)字、字母等叫字符。 ...
    mango_2e17閱讀 7,771評論 1 7
  • 一場說走就走的旅行。 簡單地整理幾件必備旅行用品,7.18日早上8.00準時出發(fā)了,計劃一路南下然后繞西南一圈回恩...
    悠游魚閱讀 3,661評論 3 6
  • 原來看過一段話,第一厲害的人有能力沒脾氣,第二厲害的人有能力有脾氣,最差的是沒能力有脾氣的人。 以我最...
    涼風豆豆閱讀 1,631評論 2 0

友情鏈接更多精彩內容