美文网首页WEB前端学习交流干货
作为前端开发,你知道这些常用的JavaScript片段吗?让你开

作为前端开发,你知道这些常用的JavaScript片段吗?让你开

作者: 無言尽显 | 来源:发表于2020-08-25 21:01 被阅读0次

    如果有人问我,作为一个初学者应该学习什么编程语言,我会推荐 JavaScript,这种强大的语言几乎涉及到编程各个方面 - 前端、后端、web应用程序、桌面应用程序、移动应用程序等等。

    这篇文章我将展示18个常用的JavaScript片段,在日常开发工作中,它们为我大大节省了时间。

    1. maxItemOfArray

    获取数组中的最大数字

    constmaxItemOfArray =(arr) =>arr.sort((a, b) =>b - a)[0];letmaxItem = maxItemOfArray([3,5,12,5]);

    2. areAllEqual

    检查数组的所有项是否相等

    constareAllEqual =array=>array.every(item=>item === array[0]);letcheck1 = areAllEqual([3,5,2]);// falseletcheck2 = allEqual([3,3,3]);// true

    3. averageOf

    求给定数字的平均值

    constaverageOf =(…numbers) =>numbers.reduce((a, b) =>a + b,0) / numbers.length;letaverage = averageOf(5,2,4,7);// 4.5

    4. reverseString

    反转一个字符串

    constreverseString =str=>[…str].reverse().join(‘’);leta = reverseString(‘Have a nice day!’);// !yad ecin a evaH

    5. sumOf

    求给定数字的和

    const sumOf = (…numbers) => numbers.reduce((a, b) => a + b, 0);let sum = sumOf(5, -3, 2, 1); // 5

    6. findAndReplace

    在字符串中查找给定的单词,并替换为另一个单词

    constfindAndReplace =(string, wordToFind, wordToReplace) =>string.split(wordToFind).join(wordToReplace);letresult = findAndReplace(‘I like banana’, ‘banana’, ‘apple’);// I like apple

    7. RGBToHex

    将RGB模式下的颜色转换为十六进制

    constRGBToHex =(r, g, b) =>((r <<16) + (g <<8) + b).toString(16).padStart(6, ‘0’);lethex = RGBToHex(255,255,255);// ffffff

    8. shuffle

    音乐播放器如何随机播放播放项目?

    constshuffle =([…array]) =>{letm = array.length;while(m) {consti =Math.floor(Math.random() * m — );    [array[m], array[i]] = [array[i], array[m]];  }returnarray;};shuffle([5,4,3,6,20]);

    9. removeFalseValues

    从数组中删除false值,包括false,undefined,NaN,empty

    constremoveFalseValues =arr=>arr.filter(item=>item);letarr = removeFalseValues([3,4,false, ‘’,5,true,undefined,NaN, ‘’]);// [3, 4, 5, true]

    10. removeDuplicatedValues

    从数组中删除重复的项

    constremoveDuplicatedValues =array=>[…newSet(array)];letarr = removeDuplicatedValues([5,3,2,5,6,1,1,6]);// [5, 3, 2, 6, 1]

    11. getTimeFromDate

    以日期对象的字符串形式返回时间

    constgetTimeFromDate =date=>date.toTimeString().slice(0,8);lettime = getTimeFromDate(newDate());// 09:46:08

    12. capitalizeAllWords

    将字符串中所有单词的第一个字母大写

    constcapitalizeAllWords =str=>str.replace(/\b[a-z]/g,char=>char.toUpperCase());letstr = capitalizeAllWords(‘i love reading book’);// I Love Reading Book

    13. getDayDiff

    返回两个日期之间以天为单位的差值

    constgetDayDiff =(date1, date2) =>((date2 - date1) / (1000*3600*24));letdiff = getDayDiff(newDate('2020-04-01'),newDate('2020-08-15'));// 136

    14. radianToDegree

    把弧度转换成角度

    constradianToDegree =radian=>(radian *180.0) /Math.PI;letdegree = radianToDegree(2.3);// 131.78

    15. isValidJSON

    检查给定字符串是否是有效的JSON

    constisValidJSON =string=>{try{JSON.parse(string);returntrue;  }catch(error) {returnfalse;  }};letcheck1 = isValidJSON(‘{“title”: “javascript”, “price”:14}’);// trueletcheck2 = isValidJSON(‘{“title”: “javascript”, “price”:14, subtitle}’);// false

    16. toWords

    将给定的字符串转换为单词数组

    consttoWords =(string, pattern =/[^a-zA-Z-]+/) =>string.split(pattern).filter(item=>item);letwords = toWords(‘I want to be come a great programmer’);// [“I”, “want”, “to”, “be”, “come”, “a”, “great”, “programmer”]

    17. scrollToTop

    位于长页面的底部,并且想快速向上滚动至顶部

    constscrollToTop =() =>{constt =document.documentElement.scrollTop ||document.body.scrollTop;if(t >0) {window.requestAnimationFrame(scrollToTop);window.scrollTo(0, t — t /8);  }};

    18. isValidNumber

    验证数字是否有效

    constisValidNumber =n=>!isNaN(parseFloat(n)) &&isFinite(n) &&Number(n) === n;letcheck1 = isValidNumber(10);// trueletcheck2 = isValidNumber(‘a’);// false

    好了,今天的分享就到这里,如果你是正在学习前端或准备学习前端,可以去我的前端学习交流群免费下载一些前端学习视频,而且不定时还有大咖直播分享,希望能帮助大家共同成长。

    相关文章

      网友评论

        本文标题:作为前端开发,你知道这些常用的JavaScript片段吗?让你开

        本文链接:https://www.haomeiwen.com/subject/exxtsktx.html