20个js实用的一行代码

获取浏览器cookie的值

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

将RGB转换为十六进制

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

复制到剪贴板

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");

找出一年中的某一天

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

将字符串首字母大写

const capitalize=str=>str.charAt(0).toUpperCase()+str.slice(1);
capitalize("follow for more")

计算两天之间相差的天数

const dayDif=(date1,date2)=>Math.ceil(Math.abs(date1.getTime()-date2.getTime())/86400000);
dayDif(new Date("2020-10-21"),new Date("2021-10-21"))

清除所有Cookie

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

生成随机十六进制

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

数组去重

const removeDuplicates=(arr)=>[...new Set(arr)];
console.log(removeDuplicates([1,2,3,3,4,4,5,56]));

从URL获取查询参数

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


//更简单的方法:
Object.fromEntries(new URLSearchParams(window.location.search))

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

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

确认奇偶数

const isEven=num=>num%2===0;
console.log(isEven(2));

求平均值

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

回到顶部

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

翻转字符串

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

检查数组是否为空

const isNotEmpty=arr=>Array.isArray(arr)&&arr.length>0;
isNotEmpty([1,2,3]);

获取用户选定的文本

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

打乱数组

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

检测用户是否处于暗模式

const isDarkMode=window.matchMedia&&window.matchMedia('(prefers-color-scheme:dark)').matches;
console.log(isDarkMode)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值