20个叹为观止的JavaScript一行代码
创始人
2024-05-31 11:08:48
0

1、获取浏览器cookie值

const cookie = name => `; ${document.cookie}`.split(`; ${name}=`).pop().split(';').shift();cookie('_ga');
// Result: "GA1.2.1929736587.1601974046"

2、将RGB转换为16进制

const rgbToHex = (r, g, b) =>
"#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);rgbToHex(0, 51, 255);
// Result: #0033ff`

3、复制到剪切板(使用 navigator.clipboard.writeText 轻松将任何文本复制到剪贴板上)

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

4、检查日期是否有效

const isDateValid = (...val) => !Number.isNaN(new Date(...val).valueOf());isDateValid("December 17, 1995 03:24:00");
// Result: true

5、找出一年中的某一天(即给出一个日期,程序给出属于本年的第多少天)

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

6、将字符串首字母大写

const capitalize = str => str.charAt(0).toUpperCase() + str.slice(1)capitalize("follow for more")
// Result: Follow for more

7、计算两个日期之间相差的天数

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

8、清除所有cookie

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

9、生成随机16进制

const randomHex = () => `#${Math.floor(Math.random() * 0xffffff).toString(16).padEnd(6, "0")}`;console.log(randomHex());
// Result: #92b008

10、数组去重

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 ]

11、从URL中获取查询参数

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

12、从日期中获取“时分秒”格式的时间

const timeFromDate = date => date.toTimeString().slice(0, 8);console.log(timeFromDate(new Date(2021, 0, 10, 17, 30, 0)));
// Result: "17:30:00"

13、确认奇偶数

//通过数据%2来判断并返回布尔类型
const isEven = num => num % 2 === 0;console.log(isEven(2));
// Result: True

14、求平值

const average = (...args) => args.reduce((a, b) => a + b) / args.length;average(1, 2, 3, 4);
// Result: 2.5

15、回到顶部(适用于网页右下角快捷返回功能)

//通过将x、y设置为0来实现
const goToTop = () => window.scrollTo(0, 0);goToTop();

16、反转字符串

const reverse = str => str.split('').reverse().join('');reverse('hello world');
// Result: 'dlrow olleh'

17、检查数组是否为空

//通过对数组长度判断来确定是否为空
const isNotEmpty = arr => Array.isArray(arr) && arr.length > 0;isNotEmpty([1, 2, 3]);
// Result: true

18、获取用户选定的文本

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

19、打乱数组

const shuffleArray = (arr) => arr.sort(() => 0.5 - Math.random());console.log(shuffleArray([1, 2, 3, 4]));
// Result: [ 1, 4, 3, 2 ]

20、检查用户是否处于暗模式

const isDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matchesconsole.log(isDarkMode) // Result: True or False

相关内容

热门资讯

安卓能卸载的系统应用,安卓系统... 手机里的安卓系统应用是不是越来越多,有时候感觉就像是个小型的超市,琳琅满目的商品让人挑花了眼?不过,...
分区助手影响系统吗安卓,分区助... 你有没有发现,手机里的分区助手最近好像有点儿不一样了?没错,就是那个帮你轻松管理手机存储空间的神奇小...
安卓水费管理系统app,便捷高... 你有没有想过,家里的水费管理是不是也能变得像手机游戏一样轻松有趣呢?现在,就让我带你走进一个神奇的世...
安卓系统微信标签删除,轻松管理... 你有没有发现,手机里的微信有时候会变得乱糟糟的?别急,今天就来给你详细说说安卓系统微信删除的那些事儿...
安卓车载音响系统,智能驾驶的音... 你有没有发现,随着科技的发展,汽车已经不仅仅是一个代步工具,它更像是一个移动的家。而在这个移动家中,...
华为安卓系统使用方法,畅享智能... 你有没有想过,手机里的操作系统就像是我们生活的城市,各有各的风采和特色?今天,就让我带你走进华为安卓...
安卓系统淘宝直播悬浮窗,安卓系... 你有没有发现,现在用安卓手机看淘宝直播的时候,那个悬浮窗功能简直太方便了!想象你正在追剧,突然直播间...
拈花湾攻略系统和安卓,安卓系统... 你打算去拈花湾游玩吗?别急,别急,让我来给你支个招,让你玩得开心又尽兴!拈花湾,这个充满禅意的古镇,...
怎么切换到安卓系统界面,探索安... 你有没有想过,为什么你的手机界面看起来和别人不一样呢?是不是好奇怎么才能把你的安卓系统界面切换成别人...
安卓m3系统,功能升级与用户体... 你有没有发现,你的安卓手机最近是不是有点不一样了?是不是感觉运行速度更快了,界面也更美观了?哈哈,那...
华为手机系统和安卓,打造独特体... 你有没有发现,最近华为手机在市场上可是越来越火了?这不,我就来跟你聊聊华为手机系统和安卓的那些事儿,...
安卓打不开系统软件,安卓系统软... 最近是不是你也遇到了安卓手机打不开系统软件的尴尬情况?别急,让我来给你详细说说这个问题的原因和解决方...
安卓系统哪个管家好,哪款管家更... 手机里的安卓系统,就像一个热闹的大家庭,每个人都在寻找那个最贴心的管家。那么,安卓系统里哪个管家最好...
忧思安卓系统升级,探索新功能与... 最近手机又闹腾起来了,不是闹铃,而是安卓系统升级的闹钟。你有没有和我一样,一边期待着新功能的到来,一...
华为手表连接安卓系统,智能生活... 你有没有发现,最近华为手表在科技圈里可是火得一塌糊涂呢!这不,我就来给你好好聊聊这款神奇的小玩意儿—...
网络版电视安卓系统,网络版电视... 你有没有发现,现在看电视的方式都变了?没错,就是那个我们每天离不开的屏幕,它已经悄悄地升级换代了。今...
安卓手机虚拟小米系统,功能与体... 你有没有想过,你的安卓手机里竟然可以装上小米的操作系统?没错,就是那个以简洁和高效著称的小米系统!今...
oppo 安卓9.0系统好吗,... 最近手机圈可是热闹非凡呢!OPPO新推出的这款手机,搭载了安卓9.0系统,不少小伙伴都在问:这安卓9...
安卓9和10系统对比,功能升级... 你有没有发现,手机系统更新换代的速度简直就像小孩子的成长一样快?这不,安卓9和10系统已经悄悄地走进...
华为平板系统切换安卓,体验全新... 你有没有发现,最近华为平板的新鲜事儿可不少呢!听说他们家的新系统切换到了安卓,这可真是让人眼前一亮啊...