共计 1353 个字符,预计需要花费 4 分钟才能阅读完成。
数组去重
从数组中删除反复元素,如何简略优雅的实现
const uniqueArr =(item)=> [... new Set(item)] | |
console.log(uniqueArr(arr)) |
从 url 获取参数并转为对象
const getParameter = URL => JSON.parse(`{"${decodeURI(URL.split("?")[1]) | |
.replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"')}"}`) | |
getParameter("http:''www.baidu.com/search?q=js+md&type=webpage") | |
//{q:"js+md",type:"webpage"} |
检测对象是否为空
const isEmpty = obj => Reflect.ownKeys(obj).length === 0 && obj.constructor === Object; | |
isEmpty({}) // true | |
isEmpty({1:'my name is empty'}) // false |
十六进制随机色调
// 生成随机色 | |
const randomColor = () =>`#${Math.floor(Math.random()* 0xffffff) | |
.toString(16).padEnd(6,'0')}` | |
console.log(randomColor()) |
查看以后选项卡是否在后盾
const isTabActive = () => !document.hidden | |
isTabActive() // true | false |
查看设施类型
// 查看设施类型 | |
const isMobileOrPc = () => | |
/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|OperaMini/i.test(navigator.userAgent) | |
? 'Mobile' : 'PC'; | |
### isMobileOrPc() // PC | Mobile |
文字复制到剪贴板
// 文字复制到剪贴板 | |
const copyText = async (text) => await navigator.clipboard.writeText(text) | |
copyText('13678933456') |
获取选定文本
const getSelectText = () => window.getSelection.toString() | |
getSelectText() |
判断某天是否为工作日
// 判断某天是否为工作日 | |
const isWeekday = (date) => date.getDay() % 6 !== 0 | |
isWeekday(new Date(2023,02,19)) // false |
计算两个日期之间相差的天数
const dayDiff = (date1,date2) =>Math.ceil(Math.abs(date1.getTime() -date2.getTime()) / 86400000); | |
dayDiff(new Date(2023,02,19),new Date(2022,06,28)) |
计算平均数
const average = (arr) => arr.reduce((a,b)=> a+b)/arr.length | |
average([4,8,13,45]) | |
//17.5 |
正文完
发表至: javascript
2023-03-29