127个常用JS代码片段,每段代码30秒看懂(下)
大家好,前两篇,127个常用JS代码片段,每段代码30秒看懂(1)和127个常用的JS代码片段,每段代码30秒就能看懂(2),我分享了前42段代码,今天继续分享第三部分,希望对大家有所帮助对您的日常工作有所帮助。43.getColonTimeFromDate这段代码从Date对象中获取当前时间。constgetColonTimeFromDate=date=>date.toTimeString().slice(0,8);getColonTimeFromDate(新日期());//"08:38:00"44,getDaysDiffBetweenDates这段代码返回两个日期天数的差constgetDaysDiffBetweenDates=(dateInitial,dateFinal)=>(dateFinal-dateInitial)/(1000*3600*24);getDaysDiffBetweenDates(新日期('2019-01-13'),新日期('2019-01-15'));//245、getStyle这段代码返回DOM元素节点对应的属性值。constgetStyle=(el,ruleName)=>getComputedStyle(el)[ruleName];getStyle(document.querySelector('p'),'字体大小');//'16px'46,getType这段代码的主要作用是返回数据的类型。constgetType=v=>v===未定义?“未定义”:v===null?'null':v.constructor.name.toLowerCase();getType(newSet([1,2,3]));//'set'47、hasClass这段代码返回DOM元素是否包含指定的Class样式。consthasClass=(el,className)=>el.classList.contains(className);hasClass(document.querySelector('p.special'),'special');//true48,head此代码输出数组元素的第一部分。consthead=arr=>arr[0];头([1、2、3]);//149.hide此代码隐藏指定的DOM元素。consthide=(...el)=>[...el].forEach(e=>(e.style.display='none'));隐藏(document.querySelectorAll('img'));//隐藏页面上所有的
元素50,httpsRedirect这段代码的作用是将httpURL重定向到httpsURL。consthttpsRedirect=()=>{if(location.protocol!=='https:')location.replace('https://'+location.href.split('//')[1]);};https重定向();//如果你在http://mydomain.com,你被重定向到https://mydomain.com51,indexOfAll这段代码可以返回数组中某个值对应的所有索引值,如果是该值,则为空数组被返回。constindexOfAll=(arr,val)=>arr.reduce((acc,el,i)=>(el===val?[...acc,i]:acc),[]);indexOfAll([1,2,3,1,2,3],1);//[0,3]indexOfAll([1,2,3],4);//[]52,initial这段代码返回数组中除了最后一个元素的所有元素constinitial=arr=>arr.slice(0,-1);初始([1、2、3]);//[1,2]constinitial=arr=>arr.slice(0,-1);初始([1、2、3]);//[1,2]53.insertAfter这段代码的作用主要是在给定的DOM节点后插入新的节点内容constinsertAfter=(el,htmlString)=>el.insertAdjacentHTML('afterend',htmlString);insertAfter(document.getElementById('myId'),'
after
');//
... after
54.insertBefore这段代码的作用主要是在给定的DOM节点之前插入新的节点内容constinsertBefore=(el,htmlString)=>el.insertAdjacentHTML('beforebegin',html字符串);insertBefore(document.getElementById('myId'),'
之前
');//
before
... 55.intersection这段代码返回两个数组元素之间的交集。constintersection=(a,b)=>{consts=newSet(b);返回一个。过滤器(x=>s.has(x));};交集([1,2,3],[4,3,2]);//[2,3]56.intersectionBy根据给定的函数处理需要比较的数组元素,然后根据处理后的数组求交集,最后提取对应的元素输出。constintersectionBy=(a,b,fn)=>{consts=newSet(b.map(fn));返回一个。过滤器(x=>s.有(fn(x)));};intersectionBy([2.1,1.2],[2.3,3.4],Math.floor);//[2.1]57.intersectionBy根据给定的函数比较两个数组的不同,然后找到交集,最后从第一个数组中提取对应的元素输出。constintersectionWith=(a,b,comp)=>a.filter(x=>b.findIndex(y=>comp(x,y))!==-1);intersectionWith([1,1.2,1.5,3,0],[1.9,3,0,3.9],(a,b)=>Math.round(a)===Math.round(b));//[1.5,3,0]58,is这段代码用于判断数据是否为指定数据类型,如果是则返回true。constis=(type,val)=>![,null].includes(val)&&val.constructor===type;是(数组,[1]);//trueis(ArrayBuffer,newArrayBuffer());//trueis(Map,newMap());//trueis(RegExp,/./g);//trueis(Set,newSet());//trueis(WeakMap,newWeakMap());//trueis(WeakSet,newWeakSet());//真正的是(字符串,'');//trueis(String,newString(''));//真的是(数字,1);//trueis(Number,newNumber(1));//真是(布尔值,真);//trueis(Boolean,newBoolean(true));//true59,isAfterDate接受两个日期类型参数来判断前一个日期是否晚于后一个日期。constisAfterDate=(dateA,dateB)=>dateA>dateB;isAfterDate(新日期(2010,10,21),新日期(2010,10,20));//true60,isAnagram用于检测两个词是否相似。constisAnagram=(str1,str2)=>{constnormalize=str=>str.toLowerCase().replace(/\[^a-z0-9\]/gi,'').split('').sort()。加入('');返回规范化(str1)===规范化(str2);};isAnagram('冰人','电影院');//true61,isArrayLike这段代码用来检测对象是否是类Array对象,是否可迭代。constisArrayLike=obj=>obj!=null&&typeofobj[Symbol.iterator]==='函数';isArrayLike(document.querySelectorAll('.className'));//trueisArrayLike('abc');//真isArrayLike(null);//false62,isBeforeDate接收两个日期类型的参数,判断前一个日期是否早于后一个日期。constisBeforeDate=(dateA,dateB)=>dateA
typeofval==='boolean';是布尔值(空);//falseisBoolean(false);//true小节今天的内容就分享到这里,感谢大家的阅读,如果喜欢我的分享,请给我一个关注点赞转发。您的支持是我分享的动力。以后我会继续分享剩下的代码片段。欢迎继续关注。本文原作者:FatosMorina来源网站:medium注:非直译之前Github价值1000刀的羊毛详细教程(已验证)小程序SEO优化指南[](http://mp.weixin.qq.com/s?__b...