文字复制到剪贴板
const copyText = async (text) => await navigator.clipboard.writeText(text)
copyText('单行代码 前端世界')
获取字符串中的字符数
const characterCount = (str, char) => str.split(char).length - 1
这个想法很简单,我们使用传递的参数 char 拆分字符串并获取返回数组的长度。由于每次将字符串拆分,都会比拆分器多一个;所以减去 1,我们有一个 characterCount 单行。
检查对象是否为空
const isEmpty = obj => Reflect.ownKeys(obj).length === 0 && obj.constructor === Object
幸运的是,下面的单行代码正是我们想要的。
在这一行中,我们检查对象的键长度是否等于 0,以及传递的参数是否为实际对象。
等待一段时间再执行
const wait = async (milliseconds) => new Promise((resolve) => setTimeout(resolve, milliseconds));
在等待单行中,我们创建一个承诺并在给定的时间后使用 setTimeout 函数解决它。
获取两个日期之间的日差
const daysBetween = (date1, date2) => Math.ceil(Math.abs(date1 - date2) / (1000 * 60 * 60 * 24))
这是一个强大的单线计算两个日期之间的天差。但还有更多事情要做,正如我所做的那样,你可以创建自己的单线来计算月、年差异等。
这种单线背后的逻辑很容易理解。当两个日期相减时,返回值是以毫秒为单位的差值,要将毫秒转换为天,我们必须将其除以毫秒、秒、分钟和小时。
检查设备上的触摸支持
const touchSupported = () => ('ontouchstart' in window || DocumentTouch && document instanceof DocumentTouch)
在这一行中,我们正在检查文档是否支持 touchstart 事件。
在元素后插入 HTML 字符串
const insertHTMLAfter = (html, el) => el.insertAdjacentHTML('afterend', html)
这是一个在 HTML 元素之后立即注入 HTML 字符串的单行代码。经过几分钟的思考和谷歌搜索,我相信你可以找到这个单线的以前版本。
随机排列数组
const shuffle = arr => arr.sort(() => 0.5 - Math.random())
但是,这里有一个你可以每天使用的 shuffle one-liner
它利用数组的排序方法,在数组的前一个元素之前或之后随机排序。
获取随机布尔值
const getRandomBoolean = () => Math.random() >= 0.5
上面的单行代码有 50/50 的机会返回真或假。因为生成的随机数大于0.5的概率等于变小的概率。
然而,例如,如果你想得到一个概率为 70% 的随机布尔值,那么你可以简单地将 0.5 更改为 0.7 等等。
计算数组的平均值
const average = (arr) => arr.reduce((a, b) => a + b) / arr.length
在平均单行中,我们使用 reduce 来获取一行中数组的总和,而不是使用循环。然后,我们将它除以数组长度,这是一个数组的平均值。
查询某天是否为工作日
const isWeekday = (date) => date.getDay() % 6 !== 0;
isWeekday(new Date(2023, 02, 01))
// true
转换华氏/摄氏
// 将华氏温度转换为摄氏温度
const fahrenheitToCelsius = (fahrenheit) => (fahrenheit - 32) * 5/9;
fahrenheitToCelsius(50);
// 10
// 将摄氏温度转华氏温度
const celsiusToFahrenheit = (celsius) => celsius * 9/5 + 32;
celsiusToFahrenheit(100)
// 212
每隔4个空1格美团卷码
[..."088896520132"].reduce((res, itm, idx) => (res += idx % 4 === 1 ? `${itm} `: itm),'');
// 08 8896 5201 32
检查当前选项卡是否在后台
const isTabActive = () => !document.hidden;
isTabActive()
// true|false
检查设备类型
const judgeDeviceType =
() => /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|OperaMini/i.test(navigator.userAgent) ? 'Mobile' : 'PC';
judgeDeviceType() // PC | Mobile
大佬很厉害
哈哈哈哈谢谢夸奖
学到了,厉害的博主
mua~~~
感谢分享,赞一个